gpt4 book ai didi

javafx - 相当于 JavaFX 中 SplitPane 上的 setResizeWeight()?

转载 作者:行者123 更新时间:2023-12-04 12:34:48 33 4
gpt4 key购买 nike

在 Swing 中,我们可以使用 setResizeWeight() 在 JSplitPane 上确定 SplitPane 的哪一部分收到了可用空间。 JavaFX 2.2 中是否有等效方法?我只能找到setDividerPosition()并没有真正做到我想要的方法(当然,每次大小更改时我都可以手动调用它,但如果可能的话,我想避免这种情况。)

我也可以调用setResizableWithParent(false) ,但这并不能真正提供我所追求的那种控制。

最佳答案

在浏览 SplitPane 的 API 时,我发现了这个静态函数 - setResizableWithParent(root, Boolean.FALSE)提供与 setResizeWeight() 类似的功能在 JSplitPane 中。

    SplitPane sp = new SplitPane();
final StackPane sp1 = new StackPane();
sp1.getChildren().add(new Button("Button One"));
final StackPane sp2 = new StackPane();
sp2.getChildren().add(new Button("Button Two"));
final StackPane sp3 = new StackPane();
sp3.getChildren().add(new Button("Button Three"));
sp.getItems().addAll(sp1, sp2, sp3);
sp.setDividerPositions(0.3f, 0.6f, 0.9f);

SplitPane.setResizableWithParent(sp1, Boolean.FALSE);

primaryStage.setScene(new Scene(sp, 300, 200));
primaryStage.setTitle("Welcome to JavaFX!");
primaryStage.sizeToScene();
primaryStage.show();
setResizableWithParent可以模仿 setResizeWeight(0) 的值和 setResizeWeight(1)但两者之间绝对没有。基本上,节点可以是自由流动的或固定的。

关于javafx - 相当于 JavaFX 中 SplitPane 上的 setResizeWeight()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12686999/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com