AYUDA! BOTON MAXIMIZAR
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!
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());
}
}
}
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());
}
}
}