gpt4 book ai didi

java - 查找屏幕尺寸

转载 作者:行者123 更新时间:2023-11-30 03:43:19 25 4
gpt4 key购买 nike

我正在尝试找到屏幕的尺寸并用它来确定窗口的尺寸。

JFrame window = new JFrame(); 
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int Width = screenSize.getWidth();
int Height = screenSize.getHeight();
window.setSize(Width, Height);
window.setVisible(true);
window.setTitle("Game");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

它给了我以下错误:

Game.java:7: error: cannot find symbol
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
^
symbol: class Dimension
location: class Game
Game.java:7: error: cannot find symbol
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
^
symbol: variable Toolkit
location: class Game
2 errors

工具已完成,退出代码为 1

最佳答案

您还记得导入java.awt.Toolkit吗?

此外,这是一种非常糟糕的方法,它会在许多操作系统屏幕上的“额外”内容(例如 Windows 上的任务栏)下展开,并显示在其下方。

相反,您可以使用 JFrame#setExtendedState并传递给JFrame。 MAXIMIZED_BOTH 最大化窗口,使其填充整个应用程序可视区域。

现在,如果您确实希望窗口占据整个屏幕,您需要看看 Full screen exclusive mode ,这会带来它自己的问题

如果您想知道屏幕的“可视”尺寸(即应用程序窗口应出现在其中的区域),您可以使用类似...

Rectangle bounds = new Rectangle(0, 0, 0, 0);

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
gd = ge.getDefaultScreenDevice();

GraphicsConfiguration gc = gd.getDefaultConfiguration();
bounds = gc.getBounds();

Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(gc);

bounds.x += insets.left;
bounds.y += insets.top;
bounds.width -= (insets.left + insets.right);
bounds.height -= (insets.top + insets.bottom);

这将返回桌面的可视空间减去所有系统内容...

关于java - 查找屏幕尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26331920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com