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

标签 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来自 show() 调用的参数相对于TextField位置?

最佳答案

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

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

关于position - JavaFX:如何设置正确的工具提示位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13049362/

相关文章:

python - Bokeh (Python): Format DateTime in Hover tooltip

Chart.js 工具提示不仅超过点

javascript - 指定位置时 jQuery 工具提示在链接上闪烁

java - 加载期间显示消息

JavaFX - 将新的 PieChart.Data 添加到现有饼图

javafx-2 - 如何在 JavaFX 2.1 中更改光标图像大小?

css - 覆盖 div 在 Chrome 和 FF 中有效,但在 IE 中无效?

android - EditText.getLocationOnScreen() 为 2 个不同的位置返回相同的结果

css - 如何在不同的桌面设备上应用相同的背景图像

css - 在不扩展父 div 的情况下定位子 div