package lecture.swing;


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

import javax.swing.BoxLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

/** JCheckBoxのサンプル Java Swing */
public class CheckBoxSample extends JFrame implements ActionListener {

  private JCheckBox check0;
  private JCheckBox check1;
  private JCheckBox check2;
  private JCheckBox check3;

  public static void main(String[] args) {
    new CheckBoxSample();
  }

  private CheckBoxSample() {
    super("JCheckBox");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLayout(new BorderLayout());

    // trueを設定するとチェック状態で表示
    check0 = new JCheckBox("check0",true);
    // 画像を設定することもできる ⇒ 実際に存在するイメージを指定すること
    check1 = new JCheckBox("check1");
    ImageIcon image = new ImageIcon("./images/kyon01.jpg");
    check1.setIcon(image);
    image = new ImageIcon("./images/kyon02.jpg");
    check1.setSelectedIcon(image);
    check2 = new JCheckBox("check2");
    check3 = new JCheckBox("check3");
    JPanel cPanel = new JPanel();
    cPanel.setLayout(new BoxLayout(cPanel, BoxLayout.Y_AXIS));
    cPanel.add(check0);
    cPanel.add(check1);
    cPanel.add(check2);
    cPanel.add(check3);

    JButton button = new JButton("push");
    button.addActionListener(this);

    add(cPanel,BorderLayout.CENTER);
    add(button,BorderLayout.SOUTH);

    pack();
    setVisible(true);
  }

  @Override
  public void actionPerformed(ActionEvent actionevent) {
    p("check0="+check0.isSelected());
    p("check1="+check1.isSelected());
    p("check2="+check2.isSelected());
    p("check3="+check3.isSelected());
  }

  private void p(String str) {
    System.out.println(str);
  }
}
//---------------------------------------------------
//・目次 - 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
//---------------------------------------------------