1

在我的应用程序中,我有几个首选项页面。在其中一些中,用户必须编辑一些项目。如果用户使用Enter键-KEY,则整个首选项对话框将关闭,这是由于 OK 按钮具有焦点这一事实。

那么我怎样才能禁用这种行为呢?

我可以将焦点设置在页面上的任何项目上,但按下Enter会强制关闭对话框。

4

2 回答 2

0

扩展默认 Dialog 并覆盖以下方法。

@Override
protected void createButtonsForButtonBar(Composite parent) {
    // Its the same as super.createButtonsForButtonBar(), but makes no default buttons by sending false.
    createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, false);
    createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false);
}
于 2013-06-25T11:44:58.270 回答
0

您可以在目标小部件上使用此代码

widget.addListener(SWT.Traverse, new Listener() {
    public void handleEvent(Event e) {
    if (e.detail == SWT.TRAVERSE_RETURN)
        e.doit = false;
    }
});
于 2015-11-19T16:04:09.550 回答