18

我有两个不同尺寸的显示器,使用(我相信)TwinView 连接在一起。

我试过

System.out.println(Toolkit.getDefaultToolkit().getScreenSize());

并得到

java.awt.Dimension[width=2960,height=1050]

如果将两台显示器一起计算,这是正确的。

而不是这个,我希望能够实现以下目标之一

  • 获取当前显示器的分辨率
  • 获得主显示器的分辨率
4

1 回答 1

22

你会想要使用GraphicsEnvironment

特别是,getScreenDevices() 返回一个GraphicsDevice对象数组,您可以从中读取显示模式的宽度/高度。

例子:

GraphicsEnvironment g = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] devices = g.getScreenDevices();

for (int i = 0; i < devices.length; i++) {
    System.out.println("Width:" + devices[i].getDisplayMode().getWidth());
    System.out.println("Height:" + devices[i].getDisplayMode().getHeight());
} 
于 2009-05-18T12:58:47.350 回答