是否可以在不使用css文件的情况下更改GWT中的小部件外观(边框颜色)? 我知道有些组件有像setBodyStyle(String style)这样的方法,可以用来代替css文件,但是Widget类没有这个方法。
编辑: 我正在重写一个项目,它是这样的:
public void changeActiveWidget(Widget newActiveWidget) {
newActiveWidget.removeStyleName("inactive-area");
newActiveWidget.addStyleName("active-area");
if (activeWidget != null) {
activeWidget.removeStyleName("active-area");
activeWidget.addStyleName("inactive-area");
}
activeWidget = newActiveWidget;
}
其中,inactive-area是灰色边框,active-area是红色边框,在css文件中定义。现在我想在没有css文件的情况下这样做,我不知道如何。
答案 0 :(得分:1)
这是非常讨厌的(你所描述的声音也是错误的:)但你可以访问小部件的主要元素UIObject.html#getElement,然后你可以改变它的属性,包括样式:Element.html#getStyle
public void changeActiveWidget(Widget newActiveWidget) {
newActiveWidget.getElement().getStyle().setBorderColor("WhiteSmoke");
}