Java:获取一个/所有可用监视器(而不是整个桌面)的分辨率?
我有两个不同大小的显示器,使用(我相信)TwinView连接在一起。
我试过了
System.out.println(Toolkit.getDefaultToolkit().getScreenSize());
得到
java.awt.Dimension[width=2960,height=1050]
如果将两个显示器统计在一起 ,则为真。
取而代之的是,我希望能够实现以下目标之一 :
- 获得当前监视器的分辨率
- 获得主显示器的分辨率
你会想要使用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()); }