向TitleAreaDialog添加一个Key Listener

时间:2012-10-05 19:00:17

标签: java swt eclipse-rcp jface keylistener

我需要为我的TitelAreaDialog添加一个关键监听器吗?有没有解决方法可以做到这一点?

1 个答案:

答案 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();
}