2009-05-18 16 views
18

Mam dwa monitory o różnych rozmiarach, połączone ze sobą za pomocą (myślę) TwinView.Java: Uzyskiwanie rozdzielczości jednego/wszystkich dostępnych monitorów (zamiast całego pulpitu)?

Próbowałem

System.out.println(Toolkit.getDefaultToolkit().getScreenSize()); 

i dostać

java.awt.Dimension[width=2960,height=1050] 

co jest prawdziwe, jeśli liczyć zarówno monitory razem.

Zamiast tego chciałbym, aby móc osiągnąć jeden z następujących czynności:

  • uzyskiwanie rozdzielczości bieżącym monitorze
  • coraz rozdzielczość monitora głównego

Odpowiedz

21

ci będziesz chciał użyć GraphicsEnvironment.

W szczególności getScreenDevices() zwraca tablicę obiektów GraphicsDevice, z której można odczytać szerokość/wysokość trybu wyświetlania.

Przykład:

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()); 
} 
+0

dziękuję bardzo! –

Powiązane problemy