JavaFX - 如何创建瘦MenuBar?

Kuk*_*ván 5 css java javafx menubar

我放在BorderPane一个MenuBar带有"文件"菜单和"关闭" MenuItem内部的顶部:

厚的菜单栏

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

厚的菜单栏

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

DVa*_*rga 5

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

.menu-item { -fx-padding: 1 5 1 5; }
.menu { -fx-padding: 1 5 1 5; }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

.menu .context-menu { -fx-padding: 1 1 1 1; }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

您还可以减小字体大小:

.menu-item >.label {-fx-font-size:9;}
.menu >.label {-fx-font-size:9;}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

此外,您可以删除左侧的填充MenuBar并减小间距:

.menu-bar {
  -fx-padding: 0 1 0 1;
  -fx-spacing: 1;
};
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述