Css Vaadin MenuItem.setStyleName赢得';行不通
在vaadin中选择此项目后,我尝试更改项目的颜色。但当我单击某个项目时,未选择任何菜单项Css Vaadin MenuItem.setStyleName赢得';行不通,css,vaadin,vaadin7,Css,Vaadin,Vaadin7,在vaadin中选择此项目后,我尝试更改项目的颜色。但当我单击某个项目时,未选择任何菜单项 MenuBar.MenuItem previous = null; void createMenuBar(){ menuBar = new MenuBar(); menuBar.addItem("First Item", menuItem -> { if (previous != null) p
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;
}
编辑
我假设菜单项是一个组件,但事实并非如此
试试这个:
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
menuBar没有儿童成员。我只能得到一个菜单项列表,我假设菜单项是某个组件,但事实并非如此。更改了答案当您检查用“选定”样式设置的菜单项的样式时,它是否存在?也许你的CSS没有选择正确的东西。