首页 > 解决方案 > 以编程方式悬停 JavaFX MenuItem 的样式

问题描述

我想知道是否有办法在不添加样式表的情况下设置 JavaFX ManuItem 的悬停样式。

对于我通常使用的节点:this.setOnMouseEntered(e -> this.setStyle(initialStateCss + hoverStateCss));this.setOnMouseExited(e -> this.setStyle(initialStateCss));

但对于 MenuItem,此事件不可用。有人知道怎么做吗?

提前致谢!

标签: javajavafxmenuitem

解决方案


我建议您使用 CSS 样式表,然后使用.menu-item:focused 选择器事件。在您的 CSS 文件中,标记将如下所示:

.menu .menu-item:focused {
    -fx-background-color: #FFF6;
    -fx-background-radius: 5.0;
    -fx-font-weight: bold;
}

我建议您尽可能少使用 Java 样式,而改用 CSS 样式表。它将增强您的代码,因为它将更易于维护。

有关更多详细信息,此SO 请求MenuItem提供了有关的 CSS 样式的有用信息。


推荐阅读