“+”和“ - ”键似乎切换SWT按钮,是否可以覆盖此行为?

时间:2013-04-11 12:55:05

标签: java swt

我正在开发一个使用SWT的Eclipse插件项目。

似乎“+”和“ - ”切换选定的SWT按钮。

有没有办法覆盖此行为,我尝试将Event.doit字段设置为false,但这不起作用。

button.addTraverseListener(new TraverseListener() {
    @Override
        public void keyTraversed(TraverseEvent e) {
            e.doit = false;
        }
    });

1 个答案:

答案 0 :(得分:2)

您可以使用以下代码(在Windows 7上测试)禁用复选框和单选按钮的 + - 键:

// disable '+' and '-' keys
button.addKeyListener(new KeyAdapter() {
    public void keyPressed(KeyEvent e) {
        if (e.character == '-' || e.character == '+') { 
            e.doit = false;
        }
    }
});

注意:用户也可以使用 space 来切换一个复选框,在我的示例中没有禁用。