import java.awt.*;
import java.applet.Applet;

/**
 アクションの処理をテストするアプレット ColorChoice クラス
 */
public class ColorChoice extends Applet {

   /**
     インターフェイスの部品の宣言
    */ 
      public Panel panel;
      public Canvas canvas;
      public CheckboxGroup palette;
      public Checkbox colorBox[];
      public Color color[];

   /**
     初期設定の関数
    */
      public void init() {

           canvas = new Canvas();         // キャンバス
           canvas.resize( size().width-20, size().height-50 );
           canvas.setBackground( Color.white );

           panel = new Panel();           // カラーボタンを配置するパネル
           palette = new CheckboxGroup(); // カラーボタンをグループ化する
           colorBox = new Checkbox[8];    // カラーボタン
           color = new Color[8];          // 色のデータ

           color[0] = Color.red;     color[1] = Color.orange;
           color[2] = Color.yellow;  color[3] = Color.green;
           color[4] = Color.cyan;    color[5] = Color.blue;
           color[6] = Color.magenta; color[7] = Color.black;

           for( int i=0; i<8 ; i++ ) {
              colorBox[i] = new Checkbox( "", palette, false );
              colorBox[i].setBackground( color[i] );
              panel.add( colorBox[i] );
           }

           add( canvas );  // キャンバスを配置
           add( panel );   // パネルを配置
      }

   /**
     アクションの処理の関数
    */
      public boolean action( Event evt, Object obj ) {

        // 選択されたボタンを調べキャンバスの色を変える

           for( int i=0; i<8 ; i++ ) {
              if( palette.getCurrent().equals( colorBox[i] ) )
                 canvas.setBackground( color[i] );
           }
           return true;
      }
}

