Java 通过uiBinder-GWT从面板更改菜单栏样式

Java 通过uiBinder-GWT从面板更改菜单栏样式,java,css,gwt,web,Java,Css,Gwt,Web,我的uiBinder设置如下: <ui:style field="localStyle"> .action { background-color: #529412; height: 28px; width: 100%; } .action > table { height: 100%; width: 100%; } .action a {

我的uiBinder设置如下:

<ui:style field="localStyle">
    .action {
        background-color: #529412;
        height: 28px;
        width: 100%;
    }

    .action > table {
        height: 100%;
        width: 100%;
    }

    .action a {
        font-size: 14px;
        color: white;
        text-decoration: none;
    }
</ui:style>
    <g:FlowPanel>
        <g:SimplePanel ui:field='action' styleName='{localStyle.action}'>
            <g:HorizontalPanel>
                <g:Cell verticalAlignment="MIDDLE" horizontalAlignment="LEFT">
                    <g:SimplePanel ui:field='navigations' styleName='{localStyle.navigations}'></g:SimplePanel>
                </g:Cell>
                <g:Cell verticalAlignment="MIDDLE" horizontalAlignment="RIGHT">
                    <g:SimplePanel ui:field='actions' styleName='{localStyle.actions}'></g:SimplePanel>
                </g:Cell>
            </g:HorizontalPanel>
        </g:SimplePanel>
        <g:SimplePanel ui:field='content'>

        </g:SimplePanel>
    </g:FlowPanel>
当我想设计菜单栏的颜色时,我该怎么做。。。我已经试过了

.actions MenuBar {
background-color: #eee;
}

但它不喜欢这样。有什么建议吗?

您不能通过CSS中的类名访问GWT小部件

你必须在你的Ui中创建一个类名:活页夹css

.menuBar {/* STYLE */}
然后将样式注入Java类,如官方文档中所述:

然后可以访问Java类中的样式并执行以下操作

mb.addStyleName(css.menuBar);

所以你喜欢mb.addStyleName(“localStyle.action”)。。。我对注入有点困惑,我在哪里使用
void setEnabled(boolean enabled)
函数您必须通过一个接口将css从Ui:Binder放入java类中,如文档中所述:“setEnabled”在文档中,这只是示例的一部分,与样式本身无关。谢谢,我得到了它。您是否知道如何编辑css,这样当我将鼠标悬停在菜单栏上时,菜单栏的背景不会改变颜色,而是使测试带有下划线?编辑.menuBar:hover{/*STYLE*/}以避免鼠标悬停时背景颜色的变化。在java类中,可以将mouseoverhandler(…)和mouseouthandler(…)添加到mb中,然后在回调中设置其他样式。
mb.addStyleName(css.menuBar);