【问题标题】:Change icon on button in scout eclipse在侦察日食中更改按钮上的图标
【发布时间】:2014-09-05 13:11:53
【问题描述】:

我想在 scout eclipse 中实现一些类似切换按钮的想法。 我需要的是更改状态按钮的图像。

我看到了功能

setIconId(String)

但我不知道如何找到这个函数的参数。如何找到球探用于不同状态按钮的图像?

马尔科

【问题讨论】:

    标签: image button toggle eclipse-scout


    【解决方案1】:

    setIconId(..) 和图标

    在您的 Scout 应用程序中,最好将 setIconId(..) 中定义的常量作为参数传递给 Icons 类。请参阅 wiki 上的 Icons page

    您的用例示例:

    setIconId(Icons.WeatherSun)
    

    Demo Widget Application 中有一个Icons class

    org.eclipsescout.demo.widgets.shared.Icons 
    

    这里有一些在这个类中定义的常量:

    public static final String WeatherRain = "weather_rain";
    public static final String WeatherSnow = "weather_snow";
    public static final String WeatherSun = "weather_sun";
    

    常量中定义的值表示图像的标识符。

    图片查找由ImageLocator实现。 (根据 UI 技术,将使用适当的 IconLocator。例如,在 Swing 的情况下,SwingIconLocator 实现)。

    如果是weather_sun,ImageLocator 的默认实现将在每个文件夹的\resources\icons\ 文件夹中查找名为weather_sun.<ext> 的文件(其中<ext> 可以是gifpng 等等)插件。在这种情况下,它将找到文件:\org.eclipsescout.demo.widgets.client\resources\icons\weather_sun.png

    如果找不到图像,您将看到如下日志条目:

    !MESSAGE org.eclipse.scout.rt.ui.swing.SwingIconLocator.warnImageNotFound(SwingIconLocator.java:141) could not find image 'weather_sun'
    

    在 Scout SDK 中,有一个 Icons Editor。这个编辑器代表了Icons 类和相应的图标中定义的所有常量。如果找不到文件,则显示红色方块而不是图像。


    切换按钮

    Toggle Button 没有特定字段,使用AbstractButton 并将显示样式设置为DISPLAY_STYLE_TOGGLE

    另见:


    更改 Toogle 按钮中的图标

    我认为这段代码 sn-p 可以满足您的需求:

    @Order(10)
    public class ToggleButton1 extends AbstractButton {
      @Override
      protected boolean getConfiguredProcessButton() {
        return false;
      }
    
      @Override
      protected void execClickAction() throws ProcessingException {
        if (isSelected()) {
          setIconId(Icons.WeatherSun);
        }
        else {
          setIconId(Icons.WeatherRain);
        }
      }
    }
    

    也可以(甚至更好)使用execToggleAction 而不是execClickAction

    截图:

    【讨论】:

    • 您好,我知道如何更改图标,但我仍然不知道您是如何实现按钮的这种“切换”灰色外观的
    • 我已经扩展了我的答案。您应该查看 wiki 或侦察书。对 Toogle 按钮进行了解释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    • 2020-08-03
    • 1970-01-01
    相关资源
    最近更新 更多