アットウィキロゴ

JAVA14

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