【发布时间】:2020-01-11 13:29:26
【问题描述】:
如何在舞台中居中放置场景?
我有以下场景:
Scene scene = new Scene(new Group());
stage.setTitle("Table View Sample");
stage.setWidth(1500);
stage.setHeight(1000);
阶段:
Parent root = FXMLLoader.load(getClass().getResource("GUI.fxml"));
Scene scene1 = new Scene(root,300,300);
Stage 包含一个 Vbox,其中包含所有元素(看图片):
现在场景本身比舞台小很多。
如何在舞台中对齐=居中场景?
【问题讨论】:
-
尝试将 vbox 包裹在另一个 vbox/hbox 中,该 vbox/hbox 具有对齐中心并适合整个场景,因此 h(v) 始终保持增长
-
这就是我希望场景大约为舞台宽度的 70% 并且居中在中间的问题。问题:由于某种原因,设置为 300,300 的场景一直走到舞台的尽头,即 1500,1000。 FXML 是否支持 % 作为参数而不是像素?
-
然后尝试
stage.getWidth() * 0.7或查看this -
JavaFX 不支持为大多数布局指定相对于父宽度的宽度。绑定可能是一种选择,但如果控件周围固定大小的空白空间足够,则填充或边距可能会起作用。否则,
GridPane和percentWidth/Height约束已在至少一个专门询问此问题的问题中提到。 (在您的问题本身中没有提到相对大小;您只是询问对齐方式。)
标签: javafx fxml center scene stage