AYUDA! BOTON MAXIMIZAR

NASH
20 de Diciembre del 2005
He implementado una ventana por medio de SWING y me gustaría saber cómo puedo controlar los eventos del botón maximizar de dicha ventana. Es decir, que interfaz hay que implementar para poder tratar dicho evento, comento esto porque con el WindowListener no puedo hacerlo. Gracias!

miguelAngel
20 de Diciembre del 2005
implementa el interfaz COmponentListener

roswell
20 de Diciembre del 2005
Lo que necesitas es la clase WindowStateListener y el metodo getExtendedState del JFrame. Te incluyo un ejemplo, espero que sea de ayuda.

import java.awt.EventQueue;
import java.awt.event.WindowEvent;
import java.awt.event.WindowStateListener;
import javax.swing.JFrame;

public class MaximizedDetection extends JFrame
{
public MaximizedDetection()
{
super("Detección de Maximización");
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setBounds(50, 50, 500, 350);
addWindowStateListener(new MyWindowStateListener());
}

public static void main(String args[])
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
new MaximizedDetection().setVisible(true);
}
});
}

private class MyWindowStateListener implements WindowStateListener
{
public void windowStateChanged(WindowEvent e)
{
System.out.println("Maximizado: "+JFrame.MAXIMIZED_BOTH);
System.out.println("Normal: "+JFrame.NORMAL);
System.out.println(((JFrame)e.getSource()).getExtendedState());
}
}
}