5

我有一个TextField我希望Tooltip在某些情况下显示的 a。

执行检查后,我运行以下代码:

textFieldUsername.setTooltip(new Tooltip("Enter username!"));
textFieldUsername.getTooltip().setAutoHide(true);
textFieldUsername.getTooltip().show(textFieldUsername, 1, 1);

因此,当有人尝试使用空用户名登录时,他会收到Tooltip“用户名”的提示TextField

但是当涉及到行动时,Tooltip屏幕左上角会弹出 。

我应该计算我的场景的坐标,然后将我的TextField坐标添加到它们,或者有一种方法可以将这些1, 1参数从调用中show()设置为相对于TextField位置?

4

1 回答 1

12

I think the coordinates are always relative to the screen. To calculate component coordinates you need to incorporate scene and window coordinates.

Point2D p = label.localToScene(0.0, 0.0);
label.getTooltip().show(label,
        p.getX() + label.getScene().getX() + label.getScene().getWindow().getX(),
        p.getY() + label.getScene().getY() + label.getScene().getWindow().getY());
于 2012-10-24T16:24:34.523 回答