package old;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.AbstractButton;
import javax.swing.ButtonModel;
import javax.swing.JFrame;
import javax.swing.JToggleButton;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

/**
 * Demonstration of a JToggleButton which stays selected when clicked.
 *
 * @author jdalbey
 */
public class SelectingToggle
{

    public static void main(String args[])
    {
        String title = "Selecting Toggle";
        JFrame frame = new JFrame(title);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        final JToggleButton toggleButton = new JToggleButton("Click Me");
        ActionListener actionListener = new ActionListener()
        {
            public void actionPerformed(ActionEvent actionEvent)
            {
                AbstractButton abstractButton = (AbstractButton) actionEvent.getSource();
                // The state of the button can be obtained from its model.
                boolean selected = abstractButton.getModel().isSelected();
                System.out.println("Action - selected=" + selected + "\n");
                if (selected)
                {
                    toggleButton.setText("Click again to toggle Off");
                }
                else
                {
                    toggleButton.setText("Click me to toggle On");
                }
            }
        };
        toggleButton.addActionListener(actionListener);
        Container contentPane = frame.getContentPane();
        contentPane.add(toggleButton, BorderLayout.NORTH);

        frame.setSize(300, 75);
        frame.setVisible(true);
    }
}
