JavaFx (JDK8) - 在 ContextMenu 中设置按钮样式的最简单方法?

JavaFx (JDK8) - Easiest way to style buttons in a ContextMenu?

我有一个带有 8 个 TableColumns 的 TableView,每个 TableColumn 都有一个带有一堆 CheckBox - MenuItems 和三个按钮的 ContextMenu。

问题是所有内容都是垂直排列的(像堆栈一样),但我希望按钮位于 HBox 中,以便它们彼此相邻放置。不幸的是,我找不到关于这个主题的任何解释。

是否可以通过 css 实现此目的,或者我是否需要实现自己的控件?

也许 ContextMenu 不是最好的起点组件。我快速检查了一个 HBox 中的三个按钮,该 HBox 被设置为 MenuItem 的图形。上下文菜单的两个副作用:

  1. 图形和文本分两列排列 - 不是您想要的 布局。
  2. MenuItem(HBox 的容器)对鼠标悬停事件作出反应 - 也不需要。

在类似的情况下,ContentMenu 带来了太多的特殊行为,我使用了 javafx.stage.Popup(window 没有装饰)并简单地用所需的控件填充它 - 在你的例子中是三个复选框和三个按钮,包装在适当的布局容器中(例如,按钮的 VBox 和 HBox)。