1

我正在尝试将弹出窗口居中放置在舞台的中心,但我做不到正确,因为我需要弹出窗口的大小并且它的大小为 0(popup.getWidth()=0 和 popup.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() 返回窗口的中心点。
4

1 回答 1

3

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

显示后尝试移动它:

popup.show(mainClass.getOptionsStage());
popup.setX(center.getX() - popup.getWidth() / 2);
popup.setY(center.getY() - popup.getHeight() / 2);
于 2012-12-12T15:43:36.700 回答