Mega Code Archive

 
Categories / Java / Event
 

Demonstrating the ContainerListener

import java.awt.Component; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ContainerEvent; import java.awt.event.ContainerListener; import javax.swing.JButton; import javax.swing.JFrame; public class ContainerTest {   public static void main(String args[]) {     JFrame frame = new JFrame();     Container contentPane = frame.getContentPane();     ContainerListener cont = new ContainerListener() {       ActionListener listener = new ActionListener() {         public void actionPerformed(ActionEvent e) {           System.out.println("Selected: " + e.getActionCommand());         }       };       public void componentAdded(ContainerEvent e) {         Component c = e.getChild();         if (c instanceof JButton) {           JButton b = (JButton) c;           b.addActionListener(listener);         }       }       public void componentRemoved(ContainerEvent e) {         Component c = e.getChild();         if (c instanceof JButton) {           JButton b = (JButton) c;           b.removeActionListener(listener);         }       }     };     contentPane.addContainerListener(cont);     contentPane.setLayout(new GridLayout(3, 2));     contentPane.add(new JButton("First"));     contentPane.add(new JButton("Second"));     contentPane.add(new JButton("Third"));     contentPane.add(new JButton("Fourth"));     contentPane.add(new JButton("Fifth"));     frame.setSize(300, 200);     frame.show();   } }