3

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

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

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

在此处输入图像描述

右边的被推了,左边的没有。

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

我该怎么做才能使按钮的状态更加明显,而与操作系统设置无关?

我确定该应用程序使用 Eclipse 3 平台,并且我需要它才能在从 XP 开始的任何桌面 Windows 上工作。

4

1 回答 1

2

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

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

它看起来像这样:

在此处输入图像描述

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

于 2013-07-01T12:17:50.377 回答