如何获得TextField位置

时间:2013-10-03 16:22:39

标签: java javafx-2 textfield

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

3 个答案:

答案 0 :(得分:2)

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

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


您还发现此StackOverflow问题有用,它描述了how to set a tool tip position

答案 1 :(得分:2)

你可以获得父母的界限:

textField.getBoundsInParent()

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

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

答案 2 :(得分:0)

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

您可以使用ContextMenuset a graphic node in a menu item(因此它可以显示任何内容)并且show commands which position it relative to another node

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