如何使RCP切换按钮状态更明显?

时间:2013-07-01 08:49:53

标签: java eclipse swt eclipse-rcp eclipse-indigo

我有一些像这样声明的切换按钮:

button = new Button(this, SWT.TOGGLE);
button.setImage(icon);

他们在我的电脑上看起来像这样:

enter image description here

正确的一个被推,左边的没有。

但在某些计算机上,根据操作系统的常规设置,可能很难看出按钮是否被按下。

如何使按钮的状态更明显,与操作系统设置无关?

我确切地说应用程序使用Eclipse 3平台,我需要它从XP开始在任何桌面Windows上运行。

1 个答案:

答案 0 :(得分:2)

由于我没有找到任何干净的解决方案(一个适用于所有按钮而不必复制所有图标的解决方案),我按照亚历山大的建议做了:

    button.addSelectionListener(new SelectionListener() {
        public void widgetDefaultSelected(SelectionEvent e) {
        }
        public void widgetSelected(SelectionEvent e) {
            button.setImage(button.getSelection() ? pushedIcon : icon);
            ...
        }           
    });

看起来像这样:

enter image description here

在颜色设置不正确的计算机上(例如选择灰色),这将是一项改进。