2009-05-18 3 views
18

J'ai deux moniteurs de différentes tailles, connectés ensemble en utilisant (je crois) TwinView.Java: Obtenir les résolutions d'un/tous les moniteurs disponibles (au lieu du bureau entier)?

J'ai essayé

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

et obtenir

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

ce qui est vrai si l'on compte les deux moniteurs ensemble.

Au lieu de cela, je voudrais pouvoir réaliser un des éléments suivants:

  • obtenir la résolution de l'écran actuel
  • obtenir la résolution de l'écran principal

Répondre

21
vous

Je veux utiliser le GraphicsEnvironment.

En particulier, getScreenDevices() renvoie un tableau d'objets GraphicsDevice à partir duquel vous pouvez lire la largeur/hauteur du mode d'affichage.

Exemple:

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

merci beaucoup! –