问题描述
我正在使用两台分辨率不同的显示器。这将返回我的组件所在的显示:
displayMode dm = invoker.getGraphicsConfiguration().getDevice().getdisplayMode();
这将返回屏幕的窗口边界,其中任务栏占:
Rectangle windowBounds = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
问题是第二行代码总是返回主屏幕边界,但是当我的组件位于第二个屏幕上时,我想获取辅助屏幕边界。有没有一种方法可以将这两行结合起来以获得当前的屏幕窗口边界?
dm在当前屏幕上具有getHeight()和getWidth(),但它们不考虑Windows任务栏。
解决方法
据我所知,您希望获取当前设备的屏幕尺寸,以便个性化您的应用程序尺寸。 您可以使用 Java Toolkit 类来完成此操作。
首先获取并存储屏幕尺寸:
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
然后以整数形式存储屏幕的宽度和高度:
// screen size width
int screenWidth = screenSize.getWidth;
// screen size height
int screenHeight = screenSize.getHeight;
将宽度和高度存储为整数后,您就可以像与其他原始变量一样使用和比较它们。