我正在研究一個需要在屏幕上找到對象的程序,到目前爲止效果很好,但是我遇到了多顯示器配置的問題。獲取輔助監視器的位置。 (小學的右邊/右邊)
GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()
-class能夠給出幾乎所有的細節,我需要在多個屏幕上定義我的搜索區域,但不是設備的順序。 (例如,輔助監視器是主要的)。
因此,我正在尋找一種方法來查找Java中主監視器和輔助監視器的屏幕位置。
我正在研究一個需要在屏幕上找到對象的程序,到目前爲止效果很好,但是我遇到了多顯示器配置的問題。獲取輔助監視器的位置。 (小學的右邊/右邊)
GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()
-class能夠給出幾乎所有的細節,我需要在多個屏幕上定義我的搜索區域,但不是設備的順序。 (例如,輔助監視器是主要的)。
因此,我正在尋找一種方法來查找Java中主監視器和輔助監視器的屏幕位置。
您可以嘗試閱讀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的Javadoc網站提供: GraphicsConfiguration
我正在尋找一個最小值和最大值屏幕值與多個監視器和GraphicsConfiguration Javadoc示例(用幾個小計算器lations)給了我完全我需要的東西。謝謝! – Spencer
您可能必須從每個設備的x和y座標中派生出來。
是的,這可能會工作:的屏幕設備[i] .getDefaultConfiguration()。getBounds()。x);'和'creenDevices [i] .getDefaultConfiguration()。getBounds()。y);'從那裏返回絕對位置,這只是簡單的數學...非常感謝,有時它只是表示... -.- – Swarles
x和y座標會將次屏幕放在右側。
但是,您無法知道主屏幕是在物理上位於左側,中間還是右側。這取決於插入顯示器的人。
實際上,有一種方法可以在一個工作站上配置9個面板。 (我希望我有這個)。因此屏幕方向取決於用戶。
也許這個問題將是有益的:http://stackoverflow.com/questions/ 10888131/determine-windows-display-number-and-or-layout-via-java –