Swing/DispatchEvent のバックアップソース(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/DispatchEvent へ行く。
- 1 (2008-02-11 (月) 21:32:38)
- 2 (2008-02-12 (火) 10:05:25)
- 3 (2008-02-13 (水) 17:25:14)
- 4 (2008-12-17 (水) 01:57:15)
- 5 (2011-04-22 (金) 18:01:46)
- 6 (2014-01-14 (火) 13:57:01)
- 7 (2015-02-10 (火) 15:24:12)
- 8 (2015-03-20 (金) 15:29:27)
- 9 (2016-12-30 (金) 18:45:32)
- 10 (2017-11-02 (木) 15:32:16)
- 11 (2017-12-12 (火) 13:41:44)
- 12 (2019-12-08 (日) 15:30:19)
- 13 (2021-06-08 (火) 11:23:03)
- 14 (2024-02-02 (金) 11:43:40)
TITLE:AWTEventを取得して入力イベントを監視 #navi(../) *AWTEventを取得して入力イベントを監視 [#ad33b611] >編集者:[[Terai Atsuhiro>terai]]~ 作成日:2008-02-11~ 更新日:&lastmod; #contents **概要 [#waee37f2] AWTEventを取得して、マウスやキーボードの入力イベントを監視します。 #screenshot **サンプルコード [#fc4a223d] #code{{ Toolkit.getDefaultToolkit().getSystemEventQueue().push(new EventQueue() { protected void dispatchEvent(AWTEvent e) { super.dispatchEvent(e); if(e instanceof InputEvent) { //System.out.println("i:"+((InputEvent)e).getWhen()); when = ((InputEvent)e).getWhen(); } } }); timer = new javax.swing.Timer(5000, new ActionListener() { public void actionPerformed(ActionEvent e) { if(when>0 && e.getWhen()-when>10000) { setTestConnected(false); timer.stop(); } } }); }} -&jnlp; -&jar; -&zip; **解説 [#rdf0df57] 上記のサンプルでは、一定時間(10秒)、マウスやキーボードからの入力が無い場合、接続(ダミー)を切るようになっています。 以下のように、AWTEventListenerを使っても同様((イベントマスクは適当に追加してください。))のことが可能です。 #code{{ Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() { public void eventDispatched(AWTEvent e) { System.out.println(e); } }, AWTEvent.KEY_EVENT_MASK + AWTEvent.MOUSE_EVENT_MASK); }} //**参考リンク **コメント [#k0faafe0] #comment