java在JavaFX中是否有一个完全在悬停时触发的菜单?
我已经查看了一些与菜单相关的JavaFX类,但找不到我想要的。我想实现一些类似于MenuBar
的功能,除了我希望它在鼠标悬停时打开菜单,而不是单击时打开。虽然我完全可以自己从零开始构建一些东西,但如果已经有一些东西允许我做类似的事情,那将是浪费时间。有人知道我该怎么做吗
你可以在下面搜索框中键入要查询的问题!
我已经查看了一些与菜单相关的JavaFX类,但找不到我想要的。我想实现一些类似于MenuBar
的功能,除了我希望它在鼠标悬停时打开菜单,而不是单击时打开。虽然我完全可以自己从零开始构建一些东西,但如果已经有一些东西允许我做类似的事情,那将是浪费时间。有人知道我该怎么做吗
# 1 楼答案
如果你使用^{,这是可能的。您可以轻松地获取包含菜单的容器,然后在其上应用
setOnMouseEntered()
或setOnMouseExited()
来捕捉每个菜单上的鼠标事件下面是一个例子:
你可能想知道为什么我用
setOnMouseMoved
而不是setOnMouseEntered
。这是因为setOnMouseEntered
在菜单之间移动鼠标时会产生一种奇怪的行为,使用setOnMouseMoved
修复它此外,如果你想知道我是怎么知道使用
lookup("HBox")
的,事实是我的第一次尝试是System.out.println( menuBar.lookupAll("*"));
,这给了我当前的信息:# 2 楼答案
我认为您正在寻找类
javafx.scene.control.ContextMenu
和方法show(Node anchor, double screenX, double screenY)