import javax.swing.*;
import java.util.*;

public class CheckState{
  public static void main(String args[]){
     JFrame frame=new JFrame("CheckState");
     frame.setSize(600,400);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

     JRadioButton button1=new JRadioButton("Yes");
     JRadioButton button2=new JRadioButton("No");
     JCheckBox button3=new JCheckBox("CheckBox");
     JToggleButton button4=new JToggleButton("ToggleButton");

     JSpinner spinner=new JSpinner();
     JSlider slider=new JSlider();

     ButtonGroup group=new ButtonGroup();
     group.add(button1); group.add(button2); //only one can be set at a time.

     String[] data1={"combo1","combo2","combo3","combo3"};
     String[] data2={"list1","list2","list3","list4"};

     JComboBox combo=new JComboBox(data1);     
     JList list=new JList(data2);     

     JBox body=
       JBox.vbox(
         button1,button2,button3,button4,
         spinner,slider, combo,list
       );
     frame.add(body);
     frame.setVisible(true);

     JEventQueue events=new JEventQueue();
     events.listenTo(button1,"button1");
     events.listenTo(button2,"button2");
     events.listenTo(button3,"button3");
     events.listenTo(button4,"button4");
     events.listenTo(spinner,"spinner");
     events.listenTo(slider,"slider");
     events.listenTo(combo,"combo");
     events.listenTo(list,"list");

     while(true){
        EventObject event=events.waitEvent();
        String name=  events.getName(event);
        if(name.equals("button1")) 
          System.out.println("Button1: "+button1.isSelected());
        else if(name.equals("button2")) 
          System.out.println("Button2: "+button2.isSelected());
        else if(name.equals("button3")) 
          System.out.println("Button3: "+button3.isSelected());
        else if(name.equals("button4")) 
          System.out.println("Button4: "+button4.isSelected());
        else if(name.equals("spinner")) 
          System.out.println("Spinner: "+spinner.getValue());
        else if(name.equals("slider"))  
          System.out.println("Slider: "+slider.getValue());
        else if(name.equals("combo"))   
          System.out.println("Combo: "+combo.getSelectedItem());
        else if(name.equals("list"))    
          System.out.println("List: "+list.getSelectedValue());
        else 
          System.out.println("Error: unknown event :"+name);
     }
  }
}
