【问题标题】:How to make RCP toggle button state more visible?如何使 RCP 切换按钮状态更明显?
【发布时间】:2013-07-01 08:49:53
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

  • 在按钮选择侦听器的 onSelect 方法中,通过检查按钮状态,创建两个图像并使用适当的一个更新按钮?
  • @AlexanderGavrilov 这是一个解决方案。我刚刚测试过它并且它有效。您可以将评论更改为答案吗?如果有人给我一个更清洁、更轻便的解决方案,我不会接受它,但它至少会得到 +1(并且可能是对未来读者的提示)。

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


【解决方案1】:

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

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

看起来像这样:

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

【讨论】:

    猜你喜欢
    • 2012-12-03
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多