Vaadin MenuItem.setStyleName不起作用

时间:2017-04-04 13:53:15

标签: css vaadin vaadin7

在vaadin中选择此项目后,我尝试更改项目的颜色。但是当我点击一个项目时,没有选择menuItems。

   MenuBar.MenuItem previous = null;

    void createMenuBar(){

        menuBar = new MenuBar();
        menuBar.addItem("First Item", menuItem -> {
            if (previous != null)
                previous.setStyleName(null);
                menuItem.setStyleName("selected");
                previous = menuItem;
                someActions();
        });
        menuBar.addItem("Second Item", menuItem -> {
            // same action 
    });

这是我的style.css

的一部分
.v-menubar-user-menu .v-menubar-menuitem-selected {
    color: #e2f6e7;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.05);
}

.v-menubar-user-menu .v-menubar-menuitem-selected:hover {
    color: #e2f6e7;
}

1 个答案:

答案 0 :(得分:0)

编辑!

我假设菜单项是一个组件,它不是。

试试这个:

MenuBar menuBar = new MenuBar();

menuBar.addItem("test",item -> {
    for(MenuBar.MenuItem m : menuBar.getItems())
        m.setStyleName("");
    item.setStyleName("selected");
});

或者,您可以在css中使用本机vaadin样式名称:

v-menubar-menuitem-selected