JavaFX css 菜单边框颜色错误

JavaFX css menu borders wrong color

我有一个 JavaFX 应用程序,有一个菜单栏,有 3 个菜单,每个菜单有几个菜单项。

更改 MenuBar/Menus/MenuItems 的颜色后,我有这些更亮的条(在“Unterstützte Melder”下方和“Daten laden”上方)

我希望它们的颜色与菜单项的背景颜色相同,我以为那些是边框或阴影,但我没能将它们设置为 0 或将其删除。

我使用 CSS 来设置我所有组件的样式

CSS 文件:

.menu-item .label {
    -fx-font-size:14.0px;
    -fx-text-fill: white;
}

.menu-item:focused {
     -fx-background-color: darkgray;
}

.context-menu {
    -fx-background-color: #8a8a8a;
}

#override:focused .label {
    -fx-text-fill: #ff8800;
}

#override .label {
    -fx-text-fill: #ff8800;
}

.menu-bar {
    -fx-background-color: #5c5c5c;
}

.button {
     -fx-background-color: #CCCCCC;
}

.menu .label {
    -fx-text-fill: white;
}

.menu-item {
     -fx-background-color: #5c5c5c;
    
}

.menu {
 -fx-background-color: #5c5c5c;
}

.menu:hover {
 -fx-background-color: darkgray;
}

如果你同时有1个context-menu在场:

通过将此代码添加到样式 sheet:

,我成功地将 Menu 节点的背景颜色更改为红色
.context-menu {
    -fx-background-color: #ff0000;     
    -fx-border-color:  #ff0000;        
}

我想你是把你的样式sheet附加到.fxml文件,如果没有,你可以通过在SceneBuilder中指定路径来完成:

如果你同时有2个context-menu在场:

只需指定 2 样式 sheets,然后分别为不同的 MenuBar 节点附加它们,如上面的屏幕截图所示。在每个样式 sheet 中指定 .context-menu class 所需的属性。这样就不会互相覆盖了。