我需要为我的TitelAreaDialog
添加一个关键监听器吗?有没有解决方法可以做到这一点?
答案 0 :(得分: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();
}