import java.awt.*;
import java.awt.event.*;
public class ex11
{
public static void main(String[] args)
{
// イベントリスナーを実装する
FrameListener2 f = new FrameListener2("Practice 6-6 EventTest2");
// Buttonを生成する
Button b1 = new Button("Change Color to Black");
f.add(b1); // FrameListenerにButtonを追加する
b1.addActionListener(f); // Buttonにイベントリスナーを設定する
Choice c1 = new Choice(); // Choiceを生成する
c1.add(new String("BLUE")); // Choiceに項目を追加する
c1.add(new String("RED"));
c1.add(new String("WHITE"));
f.add(c1);
c1.addItemListener(f);
f.setVisible(true); // フレームを表示する
}
}
// Frameを拡張し、ActionListenerとItemListenerを実装するフレームクラス
class FrameListener2 extends Frame implements ActionListener, ItemListener
{
public FrameListener2(String title)
{
setTitle(title);
setSize(300, 200); // フレームのサイズを設定する
setLayout(new FlowLayout()); // レイアウトマネージャを設定する
// フレームのクローズボタン(右上の×ボタン)をクリックしたときの処理
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0); // フレームを破棄する
}
});
}
// ボタンのクリックが発生したときに呼び出されるメソッド
public void actionPerformed(ActionEvent e)
{
setBackground(Color.BLACK); // フレームの色を黒に設定する
}
// ボタンのクリックが発生したときに呼び出されるメソッド
public void itemStateChanged(ItemEvent e)
{
String color = (String)e.getItem(); // 選択された項目(文字列)を取得する
if(color.equals("BLUE")) // 選択された項目を判定する
setBackground(Color.BLUE); // フレームの色を青に設定する
else if(color.equals("RED"))
setBackground(Color.RED); // フレームの色を赤に設定する
else
setBackground(Color.WHITE); // フレームの色を白に設定する
}
}
最終更新:2010年01月04日 07:46