如何在具有多个显示器的系统中检测屏幕位置?

时间:2014-02-28 05:19:41

标签: java screen multiple-monitors

我有两个显示器,一个是1440 * 900,另一个是1920 * 1080。我可以通过多种方式重新安排显示器:

enter image description here

或者像这样:

enter image description here

另外,我也可以镜像屏幕。如何仅使用纯Java获取这些信息?感谢。

1 个答案:

答案 0 :(得分:3)

查看GraphicsEnvironment.getScreenDevices(),您可以从每个设备获取屏幕边界矩形,例如:

GraphicsDevice[] screens = GraphicsEnvironment
    .getLocalGraphicsEnvironment()
    .getScreenDevices();

for (GraphicsDevice screen:screens)
    System.out.println(screen.getDefaultConfiguration().getBounds());

在我的双显示器系统上显示:

java.awt.Rectangle[x=0,y=0,width=1600,height=900]
java.awt.Rectangle[x=-320,y=-1200,width=1920,height=1200]

您可以使用getDefaultScreenDevice()找出哪个是主监视器。您可以从GraphicsDevice获得许多其他可能有用的信息。