JavaFX – 如何创建瘦MenuBar?

我已经在BorderPane的顶部放置了一个MenuBar其中包含一个“File”菜单和一个“Close” MenuItem

厚的菜单栏

如何使它看起来像我使用的大多数软件的MenuBar更薄,类似于下图?

厚的菜单栏

我认为它必须足够简单,但作为一个初学者,我无法真正谷歌它。 我不确定如何命名问题(“javafx菜单栏高度”,尺寸,样式等没有太多有用的结果)

将以下选择器添加到样式表可以减少每个菜单元素的高度:

 .menu-item { -fx-padding: 1 5 1 5; } .menu { -fx-padding: 1 5 1 5; } 

在此处输入图像描述

要删除所有上下文菜单的填充,您还可以添加:

 .menu .context-menu { -fx-padding: 1 1 1 1; } 

在此处输入图像描述

您还可以减小字体大小:

 .menu-item >.label {-fx-font-size:9;} .menu >.label {-fx-font-size:9;} 

在此处输入图像描述

此外,您可以删除MenuBar左右边距并减小间距:

 .menu-bar { -fx-padding: 0 1 0 1; -fx-spacing: 1; }; 

在此处输入图像描述