package lecture.swing;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

import jp.avaj.lib.debug.L;
/** RadioButton,CheckBoxサンプル Java Swing */
class RadioAndCheck extends JFrame implements ActionListener {
  JRadioButton radio0 = null;
  JRadioButton radio1 = null;
  JRadioButton radio2 = null;
  JCheckBox check0 = null;
  JCheckBox check1 = null;
  JButton button = null;

  public static void main(String[] args) {
    new RadioAndCheck();
  }
  private RadioAndCheck() {
    JPanel mainPanel = new JPanel();
    getContentPane().add(mainPanel);
    mainPanel.setLayout(new BoxLayout(mainPanel,BoxLayout.Y_AXIS));
    radio0 = new JRadioButton("radio0");
    mainPanel.add(radio0);
    radio0.addActionListener(this);
    radio1 = new JRadioButton("radio1");
    mainPanel.add(radio1);
    radio2 = new JRadioButton("radio2");
    mainPanel.add(radio2);
    ButtonGroup group = new ButtonGroup();
    group.add(radio0);
    group.add(radio1);
    group.add(radio2);
    //
    check0 = new JCheckBox("check0");
    mainPanel.add(check0);
    check0.addActionListener(this);
    check1 = new JCheckBox("check1");
    mainPanel.add(check1);
    //
    button = new JButton("push");
    mainPanel.add(button);
    button.addActionListener(this);
    //
    pack();
    setVisible(true);
  }
  @Override
  public void actionPerformed(ActionEvent e) {
    JComponent comp = (JComponent)e.getSource();
    if (comp == radio0) {
      L.p("radio0 selected");
    }
    else if (comp == button) {
      L.p("button pushed");
      L.p("radio0="+radio0.isSelected());
      L.p("radio1="+radio1.isSelected());
      L.p("radio2="+radio2.isSelected());
      L.p("check0="+check0.isSelected());
      L.p("check1="+check1.isSelected());
    }
    else if (comp == check0) {
       L.p("check0 pushed");
    }
  }
}

//---------------------------------------------------
//・目次 - Swing
//  http://blogs.yahoo.co.jp/artery2020/40568561.html
//・目次 - Java入門
//  http://blogs.yahoo.co.jp/artery2020/39975776.html
//・目次 - ビジネスパーソンの常識と非常識
//  http://blogs.yahoo.co.jp/artery2020/39728331.html
//・目次 - 論理・発想・思考についての考察と鍛え方
//  http://blogs.yahoo.co.jp/artery2020/39657784.html
//・目次 - 単なる雑談
//  http://blogs.yahoo.co.jp/artery2020/40599964.html
//---------------------------------------------------