• 追加された行はこの色です。
  • 削除された行はこの色です。
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秒)、マウスやキーボードからの入力が無い場合、接続(ダミー)を切るようになっています。
上記のサンプルでは、一定時間(10-15秒)、マウスやキーボードからの入力が無い場合、接続(ダミー)を切るようになっています。

以下のように、AWTEventListenerを使っても同様((イベントマスクは適当に追加してください。))のことが可能です。
以下のように、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