2012-06-22 43 views
6

¿Hay alguna manera de que un detector de eventos de un objeto JFrame detecte cuándo el usuario hace clic en la ventana para maximizar o minimizar los botones?Cómo detectar la ventana de JFrame minimizar y maximizar los eventos?

Am utilizando el objeto JFrame de la siguiente manera:

JFrame frame = new JFrame("Frame");

+1

¿Tiene usted un objetivo específico? – trashgod

+0

Sí, necesito saber cuándo se cambia el tamaño de la ventana para que pueda volver a dibujar los componentes dentro del marco. –

+1

Los métodos 'validate() y' repaint() 'se invocarán automáticamente cuando se modifique el tamaño del marco, pero es posible que deba actualizar otras estructuras de datos; ver también ['AnimationTest'] (http://stackoverflow.com/a/3256941/230513). – trashgod

Respuesta

4

Sí, puede hacerlo implementando los métodos de "WindowListener" llamados windowIconified (WindowEvent e) por windowDeiconified (WindowEvent e). Para más detalles, visite this

4
  1. Crear un marco y añadir un oyente:

JFrame frame = new JFrame(); 
 
frame.addWindowStateListener(new WindowStateListener() { 
 
    public void windowStateChanged(WindowEvent arg0) { 
 
     frame__windowStateChanged(arg0); 
 
    } 
 
});

  1. implementar el oyente:

public void frame__windowStateChanged(WindowEvent e){ 
 
    // minimized 
 
    if ((e.getNewState() & Frame.ICONIFIED) == Frame.ICONIFIED){ 
 
     _print("minimized"); 
 
    } 
 
    // maximized 
 
    else if ((e.getNewState() & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH){ 
 
     _print("maximized"); 
 
    } 
 
}

Cuestiones relacionadas