弹出宽度和高度= 0

时间:2012-12-12 03:29:28

标签: java user-interface javafx-2

我试图将Popup置于舞台的中心位置,但我无法做到正确,因为我需要Popup的大小,它的大小为0(popup.getWidth()= 0并弹出.getHeight()= 0)。

如何获得正确的尺寸?

我的代码如下:

                Popup popup = new Popup();
                popup.setAutoFix(true);
                popup.setAutoHide(true);
                popup.setHideOnEscape(true);
                Label label = new Label("Empty indentation char!");
                label.setOpacity(100);
                label.setStyle("-fx-background-color: cornsilk;");
                popup.getContent().add(label);
                Point2D center = Utils.getCenter(mainClass.getOptionsStage());
                popup.show(mainClass.getOptionsStage(),
                        center.getX() - popup.getWidth() / 2,
                        center.getY() - popup.getHeight() / 2);
  • Utils.getCenter()返回窗口的中心点。

1 个答案:

答案 0 :(得分:2)

Popup在被人出示之前不知道他的界限。

在显示后尝试移动它:

popup.show(mainClass.getOptionsStage());
popup.setX(center.getX() - popup.getWidth() / 2);
popup.setY(center.getY() - popup.getHeight() / 2);