Applet で Checkbox を使う

三原色の Checkbox を組み合わせて、背景の色を設定します。

下のリンクをクリックすると、このページで作成したアプレットが実行されます。
三原色の Checkbox で背景の色を変える

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

プログラムの作成

  1. メモ帳などでタイプして checkbox.java の名前で保存して下さい。
    //★ Checkbox で選択    前田 稔
    //   appletviewer tool.htm
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.event.*;
    
    public class checkbox extends Applet implements ItemListener
    {   int r=0,g=0,b=0;
    
        public void init()
        {   setBackground(Color.white);
            Checkbox red = (Checkbox)add(new Checkbox("Red"));
            Checkbox green = (Checkbox)add(new Checkbox("Green"));
            Checkbox blue = (Checkbox)add(new Checkbox("Blue"));
            red.addItemListener(this);
            green.addItemListener(this);
            blue.addItemListener(this);
        }
    
        public void itemStateChanged(ItemEvent e)
        {   Checkbox ch = (Checkbox)e.getItemSelectable();
            if (ch.getLabel().equals("Red"))
            {   if (ch.getState()==true)    r= 255;
                else    r= 0;
            }
            if (ch.getLabel().equals("Green"))
            {   if (ch.getState()==true)    g= 255;
                else    g= 0;
            }
            if (ch.getLabel().equals("Blue"))
            {   if (ch.getState()==true)    b= 255;
                else    b= 0;
            }
            setBackground(new Color(r,g,b));
        }
    }
    
  2. ホームページを表示する tool.htm は前回と同じ要領です。
    WWWブラウザから tool.htm を呼び出して、チェックボックスを選択すると背景色が変わります。

プログラムの説明

  1. イベントリスナーを使うので java.awt.event.*; を import します。
    class checkbox では Applet を extends して ItemListener を implements します。
    r, g, b は背景の色を設定する領域です。
    三個のチェックボックスを定義して addItemListener() を設定します。
        import java.applet.Applet;
        import java.awt.*;
        import java.awt.event.*;
    
        public class checkbox extends Applet implements ItemListener
        {   int r=0,g=0,b=0;
    
            public void init()
            {   setBackground(Color.white);
                Checkbox red = (Checkbox)add(new Checkbox("Red"));
                Checkbox green = (Checkbox)add(new Checkbox("Green"));
                Checkbox blue = (Checkbox)add(new Checkbox("Blue"));
                red.addItemListener(this);
                green.addItemListener(this);
                blue.addItemListener(this);
            }
        
  2. チェックボックスの状態が変更されると itemStateChanged() メソッドが呼ばれます。
    e.getItemSelectable() で状態が変更された Checkbox を調べます。
    getLabel() がチェックボックスに表示されているラベルで、getState() がチェックボックスの状態です。
    チェックボックスの状態に従って r,g,b に色を格納して背景色を設定します。
        public void itemStateChanged(ItemEvent e)
        {   Checkbox ch = (Checkbox)e.getItemSelectable();
            if (ch.getLabel().equals("Red"))
            {   if (ch.getState()==true)    r= 255;
                else    r= 0;
            }
            if (ch.getLabel().equals("Green"))
            {   if (ch.getState()==true)    g= 255;
                else    g= 0;
            }
            if (ch.getLabel().equals("Blue"))
            {   if (ch.getState()==true)    b= 255;
                else    b= 0;
            }
            setBackground(new Color(r,g,b));
        }
        

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