GWT:我可以创建一个依赖于注入Widget的Image的样式吗?

时间:2013-03-21 11:29:26

标签: css gwt

我创建了一个GWT小部件,它是按钮。按钮有两种状态:向上和向下。我想根据按钮的状态更改按钮顶部的图像(图标)。

我认为最好的方法是为两个按钮状态创建单独的样式:

.buttonStateDown {
   color: red;
   background: ... here should be icon ImageResource. how to specify it? ...
}

.buttonStateUp {
   color: black;
   background: ... here should be icon ImageResource. how to specify it? ...
}

但我无法想象如何指定这些类的背景,这些是我按钮的图标?

我的按钮可能有多个不同图标的实例。因此,我无法将图像资源硬编码为2种样式。我应该在创建按钮时注入它们。实际上,我可以通过构造函数或通过setter注入ImageResources。但问题是:我如何将这些资源传递给我上面提到的样式?

2 个答案:

答案 0 :(得分:3)

请纠正我天气我写错了, 如果你看起来像Button Mousedown处理程序你将其状态设置为down而MouseUp处理程序你将其状态设置为up然后我建议你在gwt中有PushButton就在那里, 你可以使用ex:

PushButton pushBtn = new PushButton();
pushBtn.getUpFace().setImage(new Image(GWT.getModuleBaseURL() + "/images/1.png"));
pushBtn.getDownFace().setImage(new Image(GWT.getModuleBaseURL() + "/images/2.png"));

现在,当你按下按钮时,它会显示2.png。

答案 1 :(得分:2)

我怀疑你需要GWT PushButton

不要创建任何自定义按钮并创建PushButton。并使用构造函数

PushButton(Image upImage, Image downImage, ClickHandler handler);