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

标签 java eclipse swt eclipse-rcp eclipse-indigo

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

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

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

enter image description here

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

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

我可以做些什么来使按钮的状态更明显,独立于操作系统设置?

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

最佳答案

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

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

看起来像这样:

enter image description here

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

关于java - 如何使 RCP 切换按钮状态更明显?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17400507/

相关文章:

java - 如何使用我自己的图表快速启动 graphhopper - 基础知识

java - 编译器告诉我为java创建新文件

java - JDeveloper 与 IntelliJ IDEA

eclipse - 添加额外的系统属性到 Eclipse 编程重启

java - 如何在 Eclipse RCP 中忽略除最后一个之外的鼠标事件

java - 在 Java SWT 中绘制动态基元

java - Datastax Java Cassandra 驱动程序 : Multiple AND statements using WHERE?

java - Java 中的动态类加载 - 引用类

java - 使用 Tycho 构建片段时出错 : "xyz.fragment cannot be installed in this environment because its filter is not applicable"

java - Eclipse RCP - ILazyTreeContentProvider 实现出乎意料地急切