Mega Code Archive

 
Categories / Java Tutorial / Swing Event
 

Listening to InternalFrameListener

public interface InternalFrameListener  extends EventListener {   public void internalFrameActivated(InternalFrameEvent internalFrameEvent);   public void internalFrameClosed(InternalFrameEvent internalFrameEvent);   public void internalFrameClosing(InternalFrameEvent internalFrameEvent);   public void internalFrameDeactivated(InternalFrameEvent internalFrameEvent);   public void internalFrameDeiconified(InternalFrameEvent internalFrameEvent);   public void internalFrameIconified(InternalFrameEvent internalFrameEvent);   public void internalFrameOpened(InternalFrameEvent internalFrameEvent); } import java.awt.BorderLayout; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; import javax.swing.event.InternalFrameListener; class InternalFrameIconifyListener extends InternalFrameAdapter {   public void internalFrameIconified(InternalFrameEvent internalFrameEvent) {     JInternalFrame source = (JInternalFrame) internalFrameEvent.getSource();     System.out.println("Iconified: " + source.getTitle());   }   public void internalFrameDeiconified(InternalFrameEvent internalFrameEvent) {     JInternalFrame source = (JInternalFrame) internalFrameEvent.getSource();     System.out.println("Deiconified: " + source.getTitle());   } } public class InternalFrameIconifyListenerSample {   public static void main(final String[] args) {     JFrame frame = new JFrame();     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     JDesktopPane desktop = new JDesktopPane();     JInternalFrame internalFrame = new JInternalFrame("Can Do All", true, true, true, true);     InternalFrameListener internalFrameListener = new InternalFrameIconifyListener(); //     Add listener for iconification events     internalFrame.addInternalFrameListener(internalFrameListener);     desktop.add(internalFrame);     internalFrame.setBounds(25, 25, 200, 100);     JLabel label = new JLabel(internalFrame.getTitle(), JLabel.CENTER);     internalFrame.add(label, BorderLayout.CENTER);     internalFrame.setVisible(true);     frame.add(desktop, BorderLayout.CENTER);     frame.setSize(500, 300);     frame.setVisible(true);   } }