Choiceコンポーネントの利用


2つのChoiceボックスから色とフォントを選択し,各ボタンをクリックすれば,ラベルの背景色/前景色(文字色)/フォントを変更できる。

Java Appletです


ソースコード

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

public class ja50 extends Applet
{
  Label lbl;						//Labelオブジェクト
  Button b1,b2,b3;					//Buttonオブジェクト
  Choice ch1 = new Choice();				//Choiceの作成
  String ch1i[] = {"黄色","白色","赤色","青色"};	//Choiceに登録する項目名の配列
  Choice ch2 = new Choice();
  Font f1 = new Font("TimesRoman",Font.PLAIN,20);   	//フォントを定義
  Font f2 = new Font("Helvetica",Font.PLAIN,20);
  Font f3 = new Font("Courier",Font.PLAIN,20);
  Font f4 = new Font("Dialog",Font.PLAIN,20);
  Font f5 = new Font("Symbol",Font.PLAIN,20);

  public void init(){
	lbl = new Label("ボタンで背景色と文字色が変更できます。");	//ラベルの作成
	b1 = new Button("背景色の変更");		//ボタンの作成
	b2 = new Button("文字色の変更");
	b3 = new Button("フォントの変更");
	for(int i = 0;i < ch1i.length;i++){	   //Choice1に配列を利用して項目を追加
	  ch1.addItem(ch1i[i]);
	}
	ch2.addItem("TimesRomanフォント");	   //Choice2に項目を追加
	ch2.addItem("Helveticaフォント");
	ch2.addItem("Courierフォント");
	ch2.addItem("Dialogフォント");
	ch2.addItem("Symbolフォント");
	lbl.setFont(f1);			//ラベルのフォントを設定
	add(lbl);				//以下,コンポーネントをAppletに追加
	add(b1);
	add(b2);
	add(b3);
	add(ch1);
	add(ch2);
  }

  public boolean action(Event e,Object o){
	if(e.target instanceof Button){			//ボタンがクリックされた場合
	  int n = ch1.getSelectedIndex();  //Choice1で選択されている項目のIndex番号を取得
	  int m = ch2.getSelectedIndex();  //Choice2で選択されている項目のIndex番号を取得

	  if(o.equals("背景色の変更")){
		switch(n){			//Choice1で選択されている色でラベルの背景色を変更
		  case 0:lbl.setBackground(Color.yellow);
			break;	
		  case 1:lbl.setBackground(Color.white);
			break;	
		  case 2:lbl.setBackground(Color.red);
			break;	
		  case 3:lbl.setBackground(Color.blue);
			break;
		}
	  }else if(o.equals("文字色の変更")){
		switch(n){			//Choice1で選択されている色でラベルの文字色を変更
		  case 0:lbl.setForeground(Color.yellow);
			break;	
		  case 1:lbl.setForeground(Color.white);
			break;	
		  case 2:lbl.setForeground(Color.red);
			break;	
		  case 3:lbl.setForeground(Color.blue);
			break;
		}
	  }else if(o.equals("フォントの変更")){
		switch(m){			//ラベルにChoice2で選択されているフォントを設定
		  case 0:lbl.setFont(f1);
			break;
		  case 1:lbl.setFont(f2);
			break;
		  case 2:lbl.setFont(f3);
			break;
		  case 3:lbl.setFont(f4);
			break;
		  case 4:lbl.setFont(f5);
			break;
		}
	  }
	}
	return true;
  }
}

末尾