如何禁用JavaFX组的自动布局?

aka*_*ppi 3 javafx-2

我有一个我想完全自己管理的坐标转换组.内置layoutXlayoutY属性搞乱了,我想完全禁用它们.

似乎至少有两种方法可以做到这一点.relocate(0,0)或者只是将属性设置为0.但是在Group构造中这样做太早了; 无论如何,这些值都是0.

那么:我怎么告诉Group不要做布局呢?

当然,我也可以保留layoutX | Y,并在我自己的变换中对它们进行补偿.那是计划B.

参考.JavaFX节点

jew*_*sea 5

问题有点难以理解,但我猜你在某个托管布局窗格中有一个Group(例如StackPaneVBox),但你不希望Group的布局值由布局窗格设置- 在这种情况下,您可以使该组不受管理.

例如,在下面的代码中,组的非托管性质使其具有0,0的布局坐标,而不是50,60的布局坐标,StackPane通常将其设置为将其置于父StackPane中.

Group group = new Group(new Rectangle(100, 80));
group.setManaged(false);
StackPane container = new StackPane();
container.setMinSize(StackPane.USE_PREF_SIZE, StackPane.USE_PREF_SIZE);
container.setPrefSize(200, 200);
container.setMaxSize(StackPane.USE_PREF_SIZE, StackPane.USE_PREF_SIZE);
container.getChildren().add(group);
Run Code Online (Sandbox Code Playgroud)