2009-05-18 4 views
18

Ho due monitor di dimensioni diverse, collegati tra loro utilizzando (credo) TwinView.Java: risoluzione di uno o tutti i monitor disponibili (anziché l'intero desktop)?

ho cercato

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

e ottenere

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

che è vero se si contano entrambi i monitor insieme.

Invece di questo, vorrei poter raggiungere uno dei seguenti: risoluzione

  • ottenere del monitor corrente
  • ottenere la risoluzione del monitor principale

risposta

21

voi Voglio usare lo GraphicsEnvironment.

In particolare, getScreenDevices() restituisce un array di oggetti GraphicsDevice da cui è possibile leggere la larghezza/altezza della modalità di visualizzazione.

Esempio:

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

vi ringrazio molto! –