import java.applet.Applet; import java.awt.*; public class Study11 extends Applet { CheckboxGroup g; Checkbox c1,c2,c3,c4,c5,c6,c7,c8,c9,ca,cb; public void init() { g = new CheckboxGroup(); c1 = new Checkbox("black",g,false); add(c1); c2 = new Checkbox("blue",g,false); add(c2); c3 = new Checkbox("cyan",g,false); add(c3); c4 = new Checkbox("darkGray",g,false); add(c4); c5 = new Checkbox("gray",g,false); add(c5); c6 = new Checkbox("green",g,false); add(c6); c7 = new Checkbox("magenta",g,false); add(c7); c8 = new Checkbox("pink",g,false); add(c8); c9 = new Checkbox("red",g,false); add(c9); ca = new Checkbox("white",g,false); add(ca); cb = new Checkbox("yellow",g,false); add(cb); } public boolean action(Event e,Object o){ if(e.target instanceof Checkbox){ String s = ((Checkbox)(e.target)).getLabel(); if( ((Boolean)o).booleanValue() ){ if("black".equals(s)){ setBackground(Color.black); }else if("blue".equals(s)){ setBackground(Color.blue); }else if("cyan".equals(s)){ setBackground(Color.cyan); }else if("darkGray".equals(s)){ setBackground(Color.darkGray); }else if("gray".equals(s)){ setBackground(Color.gray); }else if("green".equals(s)){ setBackground(Color.green); }else if("magenta".equals(s)){ setBackground(Color.magenta); }else if("pink".equals(s)){ setBackground(Color.pink); }else if("red".equals(s)){ setBackground(Color.red); }else if("white".equals(s)){ setBackground(Color.white); }else if("yellow".equals(s)){ setBackground(Color.yellow); } } } repaint(); return true; } }
ソースファイルの説明 import java.applet.Applet; import java.awt.*; public class Study11 extends Applet { CheckboxGroup g;//ラジオ・ボタンを作成するには、CheckboxクラスとCheckboxGroupクラスを使用します。 ラジオ・ボタンは、複数のチェックボックス・ボタンをグループ化して、絶えず1つのボタンが ONになっている状態を作ります。 この行は、CheckboxGroupクラスのオブジェクトの指定をしています。 Checkbox c1,c2,c3,c4,c5,c6,c7,c8,c9,ca,cb;//Checkboxのクラスオブジェクトの指定をしています。 public void init() { g = new CheckboxGroup();//CheckboxGroupクラスのオブジェクトの初期化をしています。 c1 = new Checkbox("black",g,false);//書式はCheckbox(String label,CheckboxGroup group,boolean state) で、labelで指定した文字列をラベルとして、groupで指定された CheckboxGroupにグループ化する。stateは、このボタンの ON/OFFの初期状態。 add(c1); c2 = new Checkbox("blue",g,false); add(c2); c3 = new Checkbox("cyan",g,false); add(c3); c4 = new Checkbox("darkGray",g,false); add(c4); c5 = new Checkbox("gray",g,false); add(c5); c6 = new Checkbox("green",g,false); add(c6); c7 = new Checkbox("magenta",g,false); add(c7); c8 = new Checkbox("pink",g,false); add(c8); c9 = new Checkbox("red",g,false); add(c9); ca = new Checkbox("white",g,false); add(ca); cb = new Checkbox("yellow",g,false); add(cb); } public boolean action(Event e,Object o){ if(e.target instanceof Checkbox){//行われたイベントがCheckboxに関係するときは以下を実行します。 String s = ((Checkbox)(e.target)).getLabel();//getLabel()メソッドは現在のボタンラベルをリターン する。 if( ((Boolean)o).booleanValue() ){ if("black".equals(s)){ setBackground(Color.black); }else if("blue".equals(s)){ setBackground(Color.blue); }else if("cyan".equals(s)){ setBackground(Color.cyan); }else if("darkGray".equals(s)){ setBackground(Color.darkGray); }else if("gray".equals(s)){ setBackground(Color.gray); }else if("green".equals(s)){ setBackground(Color.green); }else if("magenta".equals(s)){ setBackground(Color.magenta); }else if("pink".equals(s)){ setBackground(Color.pink); }else if("red".equals(s)){ setBackground(Color.red); }else if("white".equals(s)){ setBackground(Color.white); }else if("yellow".equals(s)){ setBackground(Color.yellow); } } } repaint(); return true; } } コメント文が書いていないところは既に前の時間で説明してあります。
12時間目に行く。 shimizu@eces.numazu-ct.ac.jp