Swing/EventListener のバックアップ(No.18)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/EventListener へ行く。
- 1 (2004-06-02 (水) 09:53:01)
- 2 (2004-07-28 (水) 06:19:22)
- 3 (2004-08-31 (火) 12:34:09)
- 4 (2004-09-01 (水) 06:29:08)
- 5 (2004-10-08 (金) 06:19:41)
- 6 (2004-11-04 (木) 10:04:58)
- 7 (2005-02-03 (木) 02:03:58)
- 8 (2005-04-28 (木) 04:32:52)
- 9 (2005-05-11 (水) 00:27:23)
- 10 (2005-07-05 (火) 01:53:12)
- 11 (2005-11-06 (日) 21:58:43)
- 12 (2006-02-27 (月) 15:52:04)
- 13 (2006-04-12 (水) 19:43:34)
- 14 (2006-05-31 (水) 10:49:16)
- 15 (2006-06-08 (木) 16:04:58)
- 16 (2006-09-12 (火) 17:24:39)
- 17 (2007-08-10 (金) 12:33:49)
- 18 (2008-06-18 (水) 12:32:06)
- 19 (2013-04-02 (火) 19:18:23)
- 20 (2013-10-02 (水) 15:39:58)
- 21 (2014-12-19 (金) 14:15:54)
- 22 (2015-03-25 (水) 16:56:20)
- 23 (2015-03-28 (土) 15:51:47)
- 24 (2017-02-21 (火) 16:43:01)
- 25 (2018-01-03 (水) 19:50:06)
- 26 (2018-10-16 (火) 13:27:00)
- 27 (2020-10-13 (火) 18:28:00)
- 28 (2022-07-31 (日) 21:36:32)
TITLE:EventListenerを実装して独自イベント作成
EventListenerを実装して独自イベント作成
Posted by terai at 2004-01-26
概要
イベント(イベントオブジェクト、イベントリスナー、イベントソース)を新たに作成し、これを使用します。
- &jnlp;
- &jar;
- &zip;
#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();
}
解説
上記のサンプルではメニューからのイベントでコンポーネントのフォントを変更しています。フォントの初期値はイベントリスナーをimplementsしたクラスのコンストラクタで指定しています。
Javaのイベントモデルは、delegation event model(委譲型のイベントモデル)です。以下の参考リンクなどで詳細をチェックしてみてください。