CheckBox を使う

CheckBox の ON,OFF を System.out.println() で表示します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして CheckBox.java の名前で保存して下さい。
    //★ CheckBox を使う    前田 稔
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.event.*;
    
    class CheckBox extends JFrame implements ChangeListener
    {   boolean     r=true, g=true, b=true;
        JCheckBox   red, green, blue;
    
        // Main()
        public static void main(String[] args)
        {   new CheckBox();  }
    
        // Constructor
        CheckBox()
        {   getContentPane().setLayout(new FlowLayout());
    
            red = new JCheckBox("Red",r);
            green = new JCheckBox("Green",g);
            blue = new JCheckBox("Blue",b);
            red.addChangeListener(this);
            green.addChangeListener(this);
            blue.addChangeListener(this);
            getContentPane().add(red);
            getContentPane().add(green);
            getContentPane().add(blue);
    
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setTitle("JCheckBoxTest");
            setSize(300, 200);
            setVisible(true);
        }
    
        public void stateChanged(ChangeEvent e)
        {   JCheckBox cb = (JCheckBox)e.getSource();
            if (cb==red)    r= cb.isSelected();
            if (cb==green)  g= cb.isSelected();
            if (cb==blue)   b= cb.isSelected();
            System.out.println("Red:" + r + "  Green:" + g + "  Blue:" + b);
        }
    }
    
  2. java のソースファイルをコンパイルして class オブジェクトを実行して下さい。
    CheckBox にマウスを重ねると DOS 画面に状態が表示されます。
    CheckBox をクリックすると ON⇔OFF が切り替わります。

プログラムの説明

  1. イベントリスナーを使うので java.awt.event.*; を import します。
    r, g, b で CheckBox の状態を記録します。
    最初は ON に設定しています。
    red, green, blue は CheckBox の Object です。
        import javax.swing.event.*;
    
        class CheckBox extends JFrame implements ChangeListener
        {   boolean     r=true, g=true, b=true;
            JCheckBox   red, green, blue;
        
  2. コンストラクタで CheckBox を生成します。
    addChangeListener() で CheckBox にリスナーに追加します。
    getContentPane().add() でパネルに CheckBox を貼り付けます。
            red = new JCheckBox("Red",r);
            green = new JCheckBox("Green",g);
            blue = new JCheckBox("Blue",b);
            red.addChangeListener(this);
            green.addChangeListener(this);
            blue.addChangeListener(this);
            getContentPane().add(red);
            getContentPane().add(green);
            getContentPane().add(blue);
        
  3. stateChanged() で CheckBox の状態を編集して println() で印字します。
    cb = (JCheckBox)e.getSource() で CheckBox の Object を取得します。
    cb.isSelected() で CheckBox の状態(ON, OFF)を調べます。
        public void stateChanged(ChangeEvent e)
        {   JCheckBox cb = (JCheckBox)e.getSource();
            if (cb==red)    r= cb.isSelected();
            if (cb==green)  g= cb.isSelected();
            if (cb==blue)   b= cb.isSelected();
            System.out.println("Red:" + r + "  Green:" + g + "  Blue:" + b);
        }
        

超初心者のプログラム入門(Java2)