2009-05-18 11 views
18

Tengo dos monitores de diferentes tamaños, conectados entre sí usando (creo) TwinView.Java: ¿Obtener resoluciones de uno/todos los monitores disponibles (en lugar de todo el escritorio)?

me trataron

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

y obtener

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

lo cual es cierto si se cuentan los dos monitores juntos.

En lugar de esto, me gustaría ser capaz de lograr uno de los siguientes:

  • conseguir la resolución del monitor de corriente
  • conseguir la resolución del monitor principal

Respuesta

21

se querré usar el GraphicsEnvironment.

En particular, getScreenDevices() devuelve una matriz de objetos GraphicsDevice desde la que puede leer el ancho/alto del modo de visualización.

Ejemplo:

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

muchas gracias! –

Cuestiones relacionadas