当我在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);
}
});
同样,输入的鼠标显示按钮。并且工具提示绑定到按钮。
答案 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));
(假设您希望锚定窗格的所有内容在鼠标移出/移出时显示和消失;显然,在添加内容后需要调用此行。)