Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Demonstrating the use of the constants within a PropertyChangeListener

import java.awt.BorderLayout; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; class InternalFramePropertyChangeHandler implements PropertyChangeListener {   public void propertyChange(PropertyChangeEvent propertyChangeEvent) {     String propertyName = propertyChangeEvent.getPropertyName();     System.out.println(propertyName);     if (propertyName.equals(JInternalFrame.IS_ICON_PROPERTY)) {       System.out.println("Icon property changed. React.");     }   } } public class InternalFramePropertyChangeHandlerSample {   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);     InternalFramePropertyChangeHandler ins = new InternalFramePropertyChangeHandler();     // Add listener for iconification events     internalFrame.addPropertyChangeListener(ins);     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);   } }