JavaFX:如何设置正确的工具提示位置?

时间:2012-10-24 12:36:20

标签: position tooltip javafx-2 javafx

我有TextField我希望在某些情况下显示Tooltip

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

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

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

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

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

1 个答案:

答案 0 :(得分:11)

我认为坐标总是相对于屏幕。要计算组件坐标,您需要合并场景和窗口坐标。

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());