0

我需要为我添加一个关键监听TitelAreaDialog器,有什么解决方案可以做到这一点吗?

4

1 回答 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 回答