scout eclipse にトグル ボタンのようなものを実装したいと思います。私が必要とするのは、状態のボタンの画像を変更することです。
機能が見える
setIconId(String)
しかし、この関数のパラメーターを見つける方法がわかりません。スカウトがボタンのさまざまな状態に使用する画像を見つける方法は?
マルコ
scout eclipse にトグル ボタンのようなものを実装したいと思います。私が必要とするのは、状態のボタンの画像を変更することです。
機能が見える
setIconId(String)
しかし、この関数のパラメーターを見つける方法がわかりません。スカウトがボタンのさまざまな状態に使用する画像を見つける方法は?
マルコ
Scout アプリケーションでは、クラスsetIconId(..)
で定義された定数から Argument として渡すことをお勧めします。wiki のアイコンのページIcons
を参照してください。
ユースケースの例:
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 が使用されます。たとえば、Swing のSwingIconLocator
実装の場合)。
ImageLocator のデフォルトの実装の場合、各プラグインのフォルダーで(どこにあるのかなど)weather_sun
という名前のファイルを探します。この場合、次のファイルが見つかります: \org.eclipsescout.demo.widgets.client\resources\icons\weather_sun.pngweather_sun.<ext>
<ext>
gif
png
\resources\icons\
イメージが見つからない場合、次のようなログ エントリが表示されます。
!MESSAGE org.eclipse.scout.rt.ui.swing.SwingIconLocator.warnImageNotFound(SwingIconLocator.java:141) could not find image 'weather_sun'
Scout SDK には、Icons Editorがあります。このエディタは、クラスで定義されたすべての定数Icons
と対応するアイコンを表します。ファイルが見つからない場合は、画像の代わりに赤い四角が表示されます。
トグル ボタン用の特定のフィールドはありません。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
。
スクリーンショット: