//----------------------------------------------------------------------------//
// //
// T e s t C o m p o n e n t E v e n t //
// //
//----------------------------------------------------------------------------//
// <editor-fold defaultstate="collapsed" desc="hdr"> //
// Copyright (C) Hervé Bitteur 2000-2011. All rights reserved. //
// This software is released under the GNU General Public License. //
// Goto http://kenai.com/projects/audiveris to report bugs or suggestions. //
//----------------------------------------------------------------------------//
// </editor-fold>
package omr.ui;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class TestComponentEvent
extends ComponentAdapter
implements ChangeListener
{
JFrame frame = new JFrame(getClass().getName().toString());
JTabbedPane tabbedPane = new JTabbedPane();
JButton button = new JButton(new ToggleAction());
public static void main (String... args)
{
new TestComponentEvent().play();
}
public void play ()
{
frame.setName("LaFrame");
frame.addComponentListener(this);
Container pane = frame.getContentPane();
pane.setLayout(new BorderLayout());
button.setText("Toggle");
button.setName("LeBouton");
pane.add(button, BorderLayout.NORTH);
tabbedPane.setName("LeTabbedPane");
pane.add(tabbedPane, BorderLayout.CENTER);
tabbedPane.addComponentListener(this);
tabbedPane.addChangeListener(this);
for (int i = 0; i < 5; i++) {
createTab(i);
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocation(100, 100);
frame.setSize(300, 120);
frame.setVisible(true);
System.out.println("**** Frame shown ****");
}
private void createTab (int index)
{
JPanel tab = new JPanel();
tab.setName("Tab#" + index);
tab.addComponentListener(this);
tab.add(new JLabel("Texte de " + tab.getName()));
tabbedPane.addTab(tab.getName(), tab);
}
class ToggleAction
extends AbstractAction
{
public void actionPerformed(ActionEvent e) {
tabbedPane.setVisible(!tabbedPane.isVisible());
}
}
public void componentShown(ComponentEvent e) {
System.out.println("Shown" + " " + e.getComponent().getName());
if (e.getComponent() == tabbedPane) {
System.out.println("Forcing selection to tab " + tabbedPane.getSelectedIndex());
tabbedPane.setSelectedIndex(tabbedPane.getSelectedIndex());
}
}
public void componentHidden(ComponentEvent e) {
System.out.println("Hidden" + " " + e.getComponent().getName());
}
public void stateChanged(ChangeEvent e) {
// This is for tabbed pane
System.out.println("Changed " + e.getSource().getClass().getName()
+ " to " + tabbedPane.getTitleAt(tabbedPane.getSelectedIndex()));
}
}