不使用css更改小部件外观

时间:2015-03-05 13:43:40

标签: java gwt gxt

是否可以在不使用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文件的情况下这样做,我不知道如何。

1 个答案:

答案 0 :(得分:1)

这是非常讨厌的(你所描述的声音也是错误的:)但你可以访问小部件的主要元素UIObject.html#getElement,然后你可以改变它的属性,包括样式:Element.html#getStyle

public void changeActiveWidget(Widget newActiveWidget) { 
    newActiveWidget.getElement().getStyle().setBorderColor("WhiteSmoke");
}