获取辅助监视器的位置。 (小学的右/左)

时间:2013-02-04 14:20:03

标签: java multiple-monitors

我正在开发一个需要在屏幕上查找对象的程序,到目前为止工作正常,但我遇到了多显示器配置的问题。

GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices() - 类能够提供我在多个屏幕上定义搜索区域所需的几乎所有细节,但不能提供设备的顺序。 (例如,辅助监视器是主要的)。

因此,我正在寻找一种方法来查找Java中主要和辅助监视器的屏幕位置。

3 个答案:

答案 0 :(得分:4)

您可以尝试阅读GraphicsDevice.html#getIDstring()值来确定显示器的ID。

GraphicsEnvironment ge = GraphicsEnvironment.
getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
for (int j = 0; j < gs.length; j++) { 
   GraphicsDevice gd = gs[j];
   System.out.println("ID#: " + gd.getDeviceID());
}

给我这个:

ID#: \Display0
ID#: \Display1

请记住,有时辅助监视器可以位于主监视器的左侧。在这种情况下,它将具有负面界限。

为了确定屏幕区域的整个边界,您可以使用JDK Javadocs站点提供的示例: GraphicsConfiguration

答案 1 :(得分:0)

您可能必须从每个设备的x和y坐标派生出来。

答案 2 :(得分:0)

x和y坐标会将辅助屏幕放在右侧。

但是,您无法知道主屏幕是在物理上位于左侧,中间位置还是右侧。这取决于插入显示器的人。

实际上,有一种方法可以在一个工作站上配置9个面板。 (我希望我有这个。)因此,屏幕方向取决于用户。