4

我正在尝试更改菜单项的突出显示/焦点/悬停颜色。

我正在尝试将蓝色背景更改为另一种颜色,但似乎没有任何效果?

我尝试了一些没有运气的事情:如何使用 css 为 JavaFX ContextMenu 设置样式? 以及 如何设置菜单按钮和菜单项的样式

.context-menu:focused {
    -fx-background-color:white;
    -fx-focus-color:white;
}

.menu-item:focused {
    -fx-background-color:white;
    -fx-focus-color:white;
}

.menu:focused {
    -fx-background-color:white;
    -fx-focus-color:white;
}

和许多其他变化...

还有一些使用菜单项的示例代码

// Menu
final ContextMenu contextMenu = new ContextMenu();

并构造一个 MenuItem:

maximizeMenuItem = new MenuItem(Config.getString("Maximize"));
maximizeMenuItem.setOnAction(new EventHandler<ActionEvent>() { /* do stuff */ }

我可以尝试:

contextMenu.setStyle("-fx-focus-color:white");

或者

maximizeMenuItem.setStyle("-fx-focus-color:white");

但我似乎无法弄清楚哪个-fx-css标签控制着蓝色背景颜色......

如果可能,请发布FXML解决方案以及内联代码解决方案。

4

1 回答 1

6

好吧,有点尴尬。我的图层搞砸了,我的样式表没有像我想象的那样被应用。

因此,在聚焦时更改menu-item背景颜色的正确方法是:

.menu-item:focused {
     -fx-background-color: #969A9F;
}

一旦我发现并解决了我的 css 分层问题,它现在可以按预期工作,结果如下:

于 2013-10-11T16:56:53.240 回答