删除JavaFX menuButton上的箭头

Iva*_*tch 5 javafx fxml javafx-css

您好JavaFX样式表专家,

如何删除JavaFX menuButton上的默认箭头.

我已经想过如何改变颜色并使其变得不可见

.menu-button {
    -fx-mark-color: transparent;
}
Run Code Online (Sandbox Code Playgroud)

要么

.menu-button .arrow {
    -fx-background-color: transparent;
}
Run Code Online (Sandbox Code Playgroud)

但是,由于不可见的箭头,我不想要这个差距.

谢谢你的建议.

最好的祝福,

伊万

Ulu*_*Biy 9

如果我们查看源代码MenuButtonSkinBase,子结构MenuButton似乎就是

MenuButton
   |——— label (LabeledImpl)
   |——— arrowButton (StackPane)
            |——— arrow (StackPane)
Run Code Online (Sandbox Code Playgroud)

因此,要隐藏"箭头",只需将两个StackPanes的填充设置为0即可:

.menu-button > .arrow-button {
    -fx-padding: 0;
}

.menu-button > .arrow-button > .arrow {
    -fx-padding: 0;
}
Run Code Online (Sandbox Code Playgroud)