Abrir una ventana en una pantalla en particular

2128 vistas

Para abrir una ventana (o un cuadro de diálogo) en una pantalla determinada, tendremos que usar constructores que tenga un parámetro de tipo java.awt.GraphicsConfiguration (presentes en las clases Frame y Dialog de AWT y JFrame y JDialog para Swing).

La instancia de GraphicsConfiguration se obtiene des del GraphicsDevice asociado a la pantalla.

Veamos un ejemplo de cómo mostrar un JFrame en la segunda pantalla (si está presente):



java
  1. // recuperamos la lista de pantallas
  2. GraphicsEnvironment gEnv = GraphicsEnvironment.getLocalGraphicsEnvironment();
  3. GraphicsDevice[] devices = gEnv.getScreenDevices();
  4.  
  5. // recuperamos la config. de la segunda pantalla (si existe)
  6. GraphicsConfiguration gConfig = null;
  7. if (devices.length>1) {
  8.     gConfig = devices[1].getDefaultConfiguration();
  9. }
  10.  
  11. // creamos y mostramos el JFrame
  12. JFrame frame = new JFrame(gConfig);
  13. frame.setSize(400,400);
  14. frame.setVisible(true);



Si el GraphicsConfiguration es null, se usará el de la pantalla principal...