TITLE:EventListenerを実装して独自イベント作成

EventListenerを実装して独自イベント作成

編集者:Terai Atsuhiro
作成日:2004-01-26
更新日:2022-07-31 (日) 21:36:32

概要

イベント(イベントオブジェクト、イベントリスナー、イベントソース)を新たに作成し、これを使用します。

#screenshot

サンプルコード

 private final Vector listenerList = new Vector();
 public void addFontChangeListener(FontChangeListener l) {
   if(!listenerList.contains(l)) listenerList.add(l);
 }
 public void removeFontChangeListener(FontChangeListener l) {
   listenerList.remove(l);
 }
 public void fireFontChangeEvent(String cmd, Font font) {
   Vector list = (Vector)listenerList.clone();
   Enumeration e = list.elements();
   FontChangeEvent evt = new FontChangeEvent(this, cmd, font);
   while(e.hasMoreElements()) {
     FontChangeListener listener = (FontChangeListener)e.nextElement();
     listener.fontStateChanged(evt);
   }
   revalidate();
 }
  • &jnlp;
  • &jar;
  • &zip;

解説

上記のサンプルではメニューからのイベントでコンポーネントのフォントを変更しています。フォントの初期値はイベントリスナーをimplementsしたクラスのコンストラクタで指定しています。

Javaのイベントモデルは、delegation event model(委譲型のイベントモデル)です。以下の参考リンクなどで詳細をチェックしてみてください。

参考リンク

コメント