キーリスナーを追加する必要TitelAreaDialog
がありますこれを行うための解決策はありますか?
1 に答える
6
次を使用してListener
にを追加できます。Display
Listener listener = new Listener() {
public void handleEvent(Event event) {
System.out.println(event.character);
}
}
getShell().getDisplay().addFilter(SWT.KeyDown, listener);
これにより、イベントを消費することなく、押されたすべてのキーが出力されます。つまり、基礎となるウィジェットは引き続きイベントを登録します。
close()
のメソッドで再度削除することを忘れないでくださいDialog
:
@Override
public boolean close()
{
getShell().getDisplay().removeFilter(SWT.KeyDown, listener);
super.close();
}
于 2012-10-05T19:06:55.997 に答える