【发布时间】:2013-10-12 04:16:00
【问题描述】:
我正在尝试更改菜单项的突出显示/焦点/悬停颜色。
我正在尝试将蓝色背景更改为另一种颜色,但似乎没有任何效果?
我从How do you set the style for a JavaFX ContextMenu using css? 和How to style menu button and menu items 尝试了一些没有运气的事情
.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 解决方案以及内联代码解决方案。
【问题讨论】:
-
最好把代码贴在小提琴里。
-
您是否尝试将所有
-fx-background-color: #006699;更改为另一种颜色? -
是的,如果我使用
contextMenu.setStyle("-fx-background-color:white");,它确实会使背景变白,但是当您将鼠标悬停在其中一个菜单项上时,它仍然是蓝色的。所以我想我错过了我需要使用哪个 fx css 标签? -
是否有
.menu-item:hover属性...我似乎记得读过什么? -
尝试查看默认 JavaFx 样式表中的菜单项样式。任何使该项目变为蓝色的东西都必定存在于某处。 link