0

我想知道是否有可能获得JavaFX TextField控制位置。因为,我想Popup在下面显示TextField。我注意到没有任何方法可以返回此属性。有没有办法做到这一点?或者我应该使用其他方式在Popup下面显示TextField?提前致谢。

4

3 回答 3

2

一种选择是使用localToScene(double, double)方法将 the 的起始 x,y 位置转换TextField为 a Point2D然后,这将为您提供一个点,其中包含SceneTextField内的起始 x,y 位置。从那里您可以设置标签相对于.TextField

    //TextField was declared and added to the Scene already
    Point2D point = myTextField.localToScene(0.0, 0.0);


您还发现这个 StackOverflow 问题很有帮助,它描述了如何设置工具提示位置

于 2013-10-03T17:12:15.963 回答
2

你可以得到父母的界限:

textField.getBoundsInParent()

并设置相对于该位置的弹出坐标。

有用的链接: https ://weblogs.java.net/blog/aim/archive/2009/01/layout_primer_f.html

于 2013-10-03T17:24:11.890 回答
0

如果您已经让 PopUp 工作,这个答案可能不是您的最佳选择。它只是在这里作为替代想法提供,以防万一它有用。

您可以使用ContextMenu,它允许您在菜单项中设置图形节点(因此它可以真正显示任何内容)并具有相对于另一个节点定位它的显示命令

这是 StackOverflow 问题中的一个选项:JavaFX 2 custom popup pane

于 2013-10-04T06:38:02.120 回答