2014-02-28 43 views
1

我有兩個顯示器,一個是1440 * 900,另一個是1920 * 1080。我可以重新排列在顯示器那樣的許多方面:如何檢測多顯示器系統中的屏幕位置?

enter image description here

或像這樣:

enter image description here

另外,我可以鏡面屏幕以及。我怎樣才能使用純Java獲得這些信息?謝謝。

+1

很確定只有顯示驅動程序會有這種信息。認爲這是你可以在Java中做的最好的:http://stackoverflow.com/questions/877570/java-getting-resolutions-of-one-all-available-monitors-instead-of-the-whole-de – Durandal

+0

@ JasonC是的,我不知道普通的Java可以做的事情遠遠超出我們發佈的內容。 Android對這種事情有更多的支持,但是不要認爲它符合'純java' – Durandal

+0

@Durandal哦,很好的鏈接。是的,除了你可以使用'getDefaultConfiguration()。getBounds()'來獲得監視器的實際相對座標外,你可以做這個鏈接中的內容。如果你願意的話,你可以用它來生成TedWong發佈的圖片。 –

回答

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獲得很多其他信息,這些信息可能有用。

相關問題