我正在尝试通过CSS更改Javafx中菜单栏和菜单项的背景颜色。我已经设法改变了菜单栏和菜单的颜色,但菜单项有一个奇怪的问题:更改背景颜色后,顶部和底部总是有白色边框。 这是我的CSS代码:
.menu-bar {
-fx-background-color: green;
}
.menu-bar .menu-button:hover, .menu-bar .menu-button:focused, .menu-bar .menu-button:showing {
-fx-background: -fx-accent;
-fx-background-color: darkgreen;
-fx-text-fill: -fx-selection-bar-text;
}
.menu-item {
-fx-background-color: darkgreen;
}
这是错误的图像: Image(对不起,我无法发布图片,因为这是我的第一篇文章,而且声誉太少......)
如果我添加这些代码行,我认识到底部的边框会变大(!):
.menu-item {
-fx-background-color: darkgreen;
-fx-padding: 0em 0em 0em 0em;
}
显然它与填充有关,但我真的不知道是什么......
答案 0 :(得分:3)
单击菜单时出现的弹出窗口是ContextMenu
,其中包含并显示MenuItems。样式菜单项是不够的,它们的父/容也应该被设置为样式:
.context-menu {
-fx-skin: "com.sun.javafx.scene.control.skin.ContextMenuSkin";
-fx-background-color: darkgreen;
-fx-background-insets: 0, 1, 2;
-fx-background-radius: 0 6 6 6, 0 5 5 5, 0 4 4 4;
-fx-padding: 0.333333em 0.083333em 0.666667em 0.083333em; /* 4 1 8 1 */
}
P.S。由于该论坛网站的授权,您链接的图片无法显示。