JavaFX工具提示导致MouseOut

时间:2015-01-04 23:52:04

标签: javafx tooltip

当我在AnchorPane上盘旋时,简单地说我只显示按钮。我想要一个按钮的工具提示,但是当鼠标悬停在工具提示上时,这会导致我离开锚定板并且一切都消失了。

有什么想法吗?使用悬停显示或不显示的舞台似乎不会导致按钮隐藏。

//this is an AnchorPane
    this.addEventHandler(MouseEvent.MOUSE_EXITED, new EventHandler<MouseEvent>(){
        @Override
        public void handle(MouseEvent event) {
        //Doesn't help: if(!micTooltip.isShowing() && !screenTooltip.isShowing())
                showButtons(false);

        }
    });

同样,输入的鼠标显示按钮。并且工具提示绑定到按钮。

1 个答案:

答案 0 :(得分:0)

试试这个:

ObservableBooleanValue hover = this.hoverProperty()
    .or(micTooltip.getScene().getRoot().hoverProperty())
    .or(screenTooltip.getScene().getRoot().hoverProperty());
hover.addListener((obs, wasHovering, isNowHovering) -> showButtons(isNowHovering));

根据您需要的确切行为,您可能需要

hover = this.hoverProperty().or(micTooltip.showingProperty()) ; 

您可能还会发现使用绑定而不是侦听器更方便:

this.getChildren().forEach(button -> button.visibleProperty().bind(hover));

(假设您希望锚定窗格的所有内容在鼠标移出/移出时显示和消失;显然,在添加内容后需要调用此行。)