我想在 scout eclipse 中实现一些类似切换按钮的想法。我需要的是更改状态按钮的图像。
我看功能
setIconId(String)
但我不知道如何找到这个函数的参数。如何找到侦察员用于不同按钮状态的图像?
马尔科
我想在 scout eclipse 中实现一些类似切换按钮的想法。我需要的是更改状态按钮的图像。
我看功能
setIconId(String)
但我不知道如何找到这个函数的参数。如何找到侦察员用于不同按钮状态的图像?
马尔科
在您的 Scout 应用程序中,将类setIconId(..)
中定义的常量作为参数传递是一种很好的做法。Icons
请参阅wiki 上的图标页面。
您的用例示例:
setIconId(Icons.WeatherSun)
在Demo Widget Application中有一个Icons 类:
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";
常量中定义的值表示图像的标识符。
Image 查找由ImageLocator实现。(根据 UI 技术,将使用适当的 IconLocator。例如,在 SwingSwingIconLocator
实现的情况下)。
如果ImageLocator 的默认实现将在每个插件的文件夹中weather_sun
查找名为weather_sun.<ext>
(where <ext>
can begif
等png
) 的文件。\resources\icons\
在这种情况下,它将找到文件:\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
。
也可以看看:
我认为这个代码片段可以满足您的需求:
@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
.
截屏: