java - 以编程方式悬停 JavaFX MenuItem 的样式
问题描述
我想知道是否有办法在不添加样式表的情况下设置 JavaFX ManuItem 的悬停样式。
对于我通常使用的节点:this.setOnMouseEntered(e -> this.setStyle(initialStateCss + hoverStateCss));
和this.setOnMouseExited(e -> this.setStyle(initialStateCss));
但对于 MenuItem,此事件不可用。有人知道怎么做吗?
提前致谢!
解决方案
我建议您使用 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 样式的有用信息。
推荐阅读
- yocto - bitbake qemu_2.7.0 失败 do_compile
- r - rmarkdown normalizePath 下载错误
- angular - 以角度 4 过滤数组对象的数组
- google-sheets - 计算多个工作表中的多个列匹配项(例如:名字和姓氏)
- gnupg - 签署发行版时传递 gpg 密钥密码
- python - 保持numpy中比率的准确性
- azure-devops - VSTS 如何使用单个团队项目管理工作项和积压工作
- wordpress - wordpress 中的下拉选择表单
- excel - 如何过滤多个字符串/单词的行
- gitlab - Gitlab:在没有证书的情况下将外部网址设置为 https