Applet で CheckboxGroup を使う

CheckboxGroup を使って、排他制御をします。

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

プログラムの作成

  1. メモ帳などでタイプして checkboxgroup.java の名前で保存して下さい。
    //★ Checkboxgroup で選択    前田 稔
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    
    public class checkboxgroup extends Applet implements ItemListener
    {   Checkbox    red,green,blue;
    
        public void init()
        {   setBackground(Color.white);
            CheckboxGroup grp = new CheckboxGroup();
            red = (Checkbox)add(new Checkbox("Red",grp,true));
            green = (Checkbox)add(new Checkbox("Green",grp,false));
            blue = (Checkbox)add(new Checkbox("Blue",grp,false));
            red.addItemListener(this);
            green.addItemListener(this);
            blue.addItemListener(this);
        }
    
        public void itemStateChanged(ItemEvent e)
        {   Checkbox ch = (Checkbox)e.getItemSelectable();
            if (ch==red)    setBackground(Color.red);
            if (ch==green)  setBackground(Color.green);
            if (ch==bue)    setBackground(Color.blue);
        }
    }
    
  2. 基本的には Applet で Checkbox を使う と同じですが、 Group を使って、排他制御(一個しか選択できない)を設定します。
    CheckboxGroup grp をインスタンス化して、グループに含める Checkbox に設定するだけです。
    true, false は Checkbox の初期状態です。
            CheckboxGroup grp = new CheckboxGroup();
            red = (Checkbox)add(new Checkbox("Red",grp,true));
            green = (Checkbox)add(new Checkbox("Green",grp,false));
            blue = (Checkbox)add(new Checkbox("Blue",grp,false));
        
  3. 今回は Checkbox を共通領域に定義して、Object の名前で識別しています。
        Checkbox    red,green,blue;
    
            if (ch==red)    setBackground(Color.red);
            if (ch==green)  setBackground(Color.green);
            if (ch==bue)    setBackground(Color.blue);
        

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