我有一个项目,它是一个eclipse插件项目,即使eclipse不在焦点内/已被最小化并且在任何窗口都位于焦点上的覆盖上,我的上下文菜单仍保持打开状态。在此示例中,我刚刚打开了chrome。
这是我正在使用的javafx导入软件包:javafx.scene.control.ContextMenu;
我一开始以为我可以捕捉到使日食最小化的事件,但是我意识到这是行不通的,因为并非总是用户会把日食最小化而使日食失焦。
关于用户单击eclipse后如何关闭/隐藏上下文菜单的任何想法?
也许我在打开它时做错了什么?还是应该设置我不是的东西?只需使用contextMenu.show()打开它即可;在树视图节点上。请告诉我。 预先感谢。
答案 0 :(得分:0)
我设法解决了这个问题:
tree.focusedProperty().addListener((v, oldValue, newValue) -> {
if(tree.isFocused() == false){
hideAllCTXMenus();
}
});
本质上是树视图失去焦点,然后关闭上下文菜单。这基本上是contextMenu.setAutoHide(true);可以,但是就我而言,由于某种原因它没有起作用。所以我不得不自己动手做。