Java 如何使RCP切换按钮状态更可见?
我有一些切换按钮声明如下:Java 如何使RCP切换按钮状态更可见?,java,eclipse,swt,eclipse-rcp,eclipse-indigo,Java,Eclipse,Swt,Eclipse Rcp,Eclipse Indigo,我有一些切换按钮声明如下: button = new Button(this, SWT.TOGGLE); button.setImage(icon); 它们在我的电脑上看起来像这样: 右边的推,左边的不推 但在某些计算机上,根据操作系统的一般设置,可能很难看到按钮是否按下 我可以做些什么,使按钮的状态更加可见,而不受操作系统设置的影响 我确定应用程序使用Eclipse 3平台,并且我需要它来在从XP开始的任何桌面窗口上工作。因为我没有找到任何干净的解决方案(一种可以在不复制所有图标的情况下适
button = new Button(this, SWT.TOGGLE);
button.setImage(icon);
它们在我的电脑上看起来像这样:
右边的推,左边的不推
但在某些计算机上,根据操作系统的一般设置,可能很难看到按钮是否按下
我可以做些什么,使按钮的状态更加可见,而不受操作系统设置的影响
我确定应用程序使用Eclipse 3平台,并且我需要它来在从XP开始的任何桌面窗口上工作。因为我没有找到任何干净的解决方案(一种可以在不复制所有图标的情况下适用于所有按钮的解决方案),我按照Alexander的建议做了:
button.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
}
public void widgetSelected(SelectionEvent e) {
button.setImage(button.getSelection() ? pushedIcon : icon);
...
}
});
看起来是这样的:
button = new Button(this, SWT.TOGGLE);
button.setImage(icon);
在颜色设置不好的计算机上(例如,选择灰色),这将是一种改进。在按钮选择侦听器的onSelect方法中,通过检查按钮状态,创建两个图像并用适当的图像更新按钮?@AlexanderGavrilov这是一种解决方案。我刚刚测试过它,它工作正常。你能把你的评论改成回答吗?如果有人给我一个更干净、更轻的解决方案,我不会接受,但它至少会得到+1(这可能是给未来读者的提示)。