繁体   English   中英

Java屏幕大小

[英]Screen Size in Java

您好,我正在用Java做游戏,我使用DefaultToolkit得到了screenSize,但问题是如果屏幕是FULLSCREEN,它将检测屏幕的大小。 如何获得游戏屏幕(不是全屏)占用的区域的屏幕尺寸。 更准确地说,由于系统工具栏为其添加了额外的“填充”,因此我的精灵正在移出底部屏幕的边缘。 如何获得游戏屏幕占用的区域大小? 非常感谢你

我认为屏幕界限是您要寻找的:

import java.awt.*;
import javax.swing.*;

public class FrameInfo
{
    public static void main(String[] args)
    {
        GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
        Rectangle bounds = env.getMaximumWindowBounds();
        System.out.println("Screen Bounds: " + bounds );

        GraphicsDevice screen = env.getDefaultScreenDevice();
        GraphicsConfiguration config = screen.getDefaultConfiguration();
        System.out.println("Screen Size  : " + config.getBounds());
        System.out.println(Toolkit.getDefaultToolkit().getScreenSize());

        JFrame frame = new JFrame("Frame Info");
        frame.setSize(200, 200);
        frame.setVisible( true );

        System.out.println("Frame Size   : " + frame.getSize() );
        System.out.println("Frame Insets : " + frame.getInsets() );
        System.out.println("Content Size : " + frame.getContentPane().getSize() );
     }
}

您可以使用Insets获得任务栏和其他内容的大小。 这是获取不包含任务栏/其他屏幕大小的示例。

// Screen size
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

// Screen insets
Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(getGraphicsConfiguration());

// Get the real width/height
int width = screen.getWidth() - insets.left - insets.right;
int height = screen.getHeight() - insets.top - insets.bottom;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM