Example usage for javax.swing JButton addAncestorListener

List of usage examples for javax.swing JButton addAncestorListener

Introduction

In this page you can find the example usage for javax.swing JButton addAncestorListener.

Prototype

public void addAncestorListener(AncestorListener listener) 

Source Link

Document

Registers listener so that it will receive AncestorEvents when it or any of its ancestors move or are made visible or invisible.

Usage

From source file:AncestorSampler.java

public static void main(String args[]) {
    JFrame frame = new JFrame("Ancestor Sampler");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    AncestorListener ancestorListener = new AncestorListener() {
        public void ancestorAdded(AncestorEvent ancestorEvent) {
            System.out.println("Added");
        }//from w ww  .  jav  a  2s.  co m

        public void ancestorMoved(AncestorEvent ancestorEvent) {
            System.out.println("Moved");
        }

        public void ancestorRemoved(AncestorEvent ancestorEvent) {
            System.out.println("Removed");
        }
    };
    JButton bn = new JButton();
    bn.addAncestorListener(ancestorListener);
    frame.add(bn);
    //frame.remove(bn);
    frame.setSize(300, 200);
    frame.setVisible(true);
}

From source file:Main.java

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);/*  ww w .j a  v a 2s  .  c  o m*/
            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.setVisible(true);
}