如何在 JavaFX 中设置 FXTable 的 TableMenuButton 上下文菜单的背景和文本颜色的样式?

How to style the Background and the text color of the TableMenuButton context menu of a FXTable in JavaFX?

当我们在 FXTable 上启用 TableMenuButton 时,我们将获得一个可以显示和隐藏列的上下文菜单。

知道我的 table 确实有一个特定的样式,我想重新设置此上下文菜单背景颜色和文本颜色的样式。

我不知道怎么办!

您必须添加一个 CSS 样式表来修改 TableView 的上下文菜单。根据您使用的 table 视图,删除 'tree' 或 w/o 'tree' 行:

.table-view .column-header .context-menu,
.tree-table-view .column-header .context-menu,
.table-view > .column-header-background > .show-hide-columns-button .context-menu,
.tree-table-view > .column-header-background > .show-hide-columns-button .context-menu {
    -fx-background-color: black;
}

如果您想更改菜单项的背景颜色:

.table-view .column-header .context-menu .menu-item,
.tree-table-view .column-header .context-menu .menu-item,
.table-view > .column-header-background > .show-hide-columns-button .context-menu .menu-item,
.tree-table-view > .column-header-background > .show-hide-columns-button .context-menu .menu-item {
    -fx-background-color: green;
}

如果您想更改菜单项标签的颜色:

.table-view .column-header .context-menu .menu-item > .label,
.tree-table-view .column-header .context-menu .menu-item > .label,
.table-view > .column-header-background > .show-hide-columns-button .context-menu .menu-item > .label,
.tree-table-view > .column-header-background > .show-hide-columns-button .context-menu .menu-item > .label {
    -fx-text-fill: yellow;
}