基本上我想使用屏幕坐标显示javafx.scene.control.Tooltip
。
在Scene
中,我有几个Node
个实例,每个实例都有自己的Tooltip
个实例。某个事件应该触发所有节点同时显示其工具提示。 (这是一种帮助功能)
但 show
方法使用屏幕坐标。因此,当我使用tooltip.show(node, node.getLayoutX(), node.getLayoutY())
时,所有工具提示都不在几英寸之内。
使用鼠标事件,我会使用mouseEvent.getScreenX()
和mouseEvent.getScreenY()
方法来显示工具提示。但不幸的是,我没有使用鼠标触发此事件,这次。
Node
没有getScreenX
种方法。那么,有没有办法将布局坐标转换为屏幕坐标?
如果有替代方法,也可以随意分享。
答案 0 :(得分:0)
无法直接从布局坐标转换为屏幕坐标。但是有一种方法localToScreen
可用于将本地坐标转换为屏幕坐标。
Bounds bounds = node.localToScreen(getBoundsInLocal());
tooltip.show(this, bounds.getMinX(), bounds.getMinY());