| 2つのChoiceボックスから色とフォントを選択し,各ボタンをクリックすれば,ラベルの背景色/前景色(文字色)/フォントを変更できる。 |
|
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;
}
}
末尾