Mega Code Archive

 
Categories / Java / Event
 

Demonstrating the AncestorListener

import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Timer; import java.util.TimerTask; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.event.AncestorEvent; import javax.swing.event.AncestorListener; public class AncestorTest {   public static void main(String args[]) {     final JFrame frame = new JFrame();     Container contentPane = frame.getContentPane();     JButton b = new JButton("Hide for 5");     ActionListener action = new ActionListener() {       public void actionPerformed(ActionEvent actionEvent) {         frame.setVisible(false);         TimerTask task = new TimerTask() {           public void run() {             frame.setVisible(true);           }         };         Timer timer = new Timer();         timer.schedule(task, 5000);       }     };     b.addActionListener(action);     AncestorListener ancestor = new AncestorListener() {       public void ancestorAdded(AncestorEvent e) {         System.out.println("Added");         dumpInfo(e);       }       public void ancestorMoved(AncestorEvent e) {         System.out.println("Moved");         dumpInfo(e);       }       public void ancestorRemoved(AncestorEvent e) {         System.out.println("Removed");         dumpInfo(e);       }       private void dumpInfo(AncestorEvent e) {         System.out.println("\tAncestor: " + name(e.getAncestor()));         System.out.println("\tAncestorParent: "             + name(e.getAncestorParent()));         System.out.println("\tComponent: " + name(e.getComponent()));       }       private String name(Container c) {         return (c == null) ? null : c.getName();       }     };     b.addAncestorListener(ancestor);     contentPane.add(b, BorderLayout.NORTH);     frame.setSize(300, 200);     frame.show();   } }