java-全局禁用SWT对话框中的输入/返回键

我创建了一个对话框类,其中填充了一些常见的小部件,例如文本,组合和树.当我按下进入或返回的那个小部件时,具有默认行为来退出此对话框(与按下默认的“确定”按钮相同)很烦人.

为了防止这种行为,我必须为每个小部件添加一个遍历侦听器以过滤遍历键:

if (SWT::TRAVERSE_RETURN == event.detail) {
  event.doit = false 
}

这有点烦人.有没有办法在对话框级别进行全局处理?

解决方法:

我发现在JFace对话框中,可以通过覆盖方法createButtonsForButtonBar来禁用默认的Enter键很容易.

以及最后一个参数:

createButton(parent, IDialogConstants.OK_ID,IDialogConstants.OK_LABEL,
false);

需要为假:

@Override
protected void createButtonsForButtonBar(Composite parent) {
Button button = createButton(parent, IDialogConstants.OK_ID,
        IDialogConstants.OK_LABEL, false);
}
上一篇:Java-SWT:在表或树单元格中绘制“图标”


下一篇:java-jface的ComboViewer遇到困难,需要帮助