gpt4 book ai didi

resize - JavaFX - SplitPane,调整大小和比例

转载 作者:行者123 更新时间:2023-12-03 22:37:37 26 4
gpt4 key购买 nike

如何实现整个 SplitPane 的比例调整?

public class JfxSplitPaneTest extends Application {
@Override
public void start(Stage stage) throws Exception {
SplitPane split = new SplitPane();
StackPane child1 = new StackPane();
child1.setStyle("-fx-background-color: #0000AA;");
StackPane child2 = new StackPane();
child2.setStyle("-fx-background-color: #00AA00;");
StackPane child3 = new StackPane();
child3.setStyle("-fx-background-color: #AA0000;");
split.getItems().addAll(child1, child2, child3);
//split.setDividerPositions(0.1f, 0.6f, 0.9f)
stage.setScene(new Scene(split, 400, 300));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}

启动程序:

enter image description here

设置我喜欢的分隔符:

enter image description here

使窗口宽度非常小(我继续并使它更小,没有图片):

enter image description here

重新调整大小并观察分隔符既不是我设置它们的方式,也不是程序启动时的方式。

enter image description here

这样做使它更接近我的期望:
    child1.setMinWidth(Region.USE_PREF_SIZE)
child1.setPrefWidth(100)
child2.setMinWidth(Region.USE_PREF_SIZE)
child2.setPrefWidth(200)
child3.setMinWidth(Region.USE_PREF_SIZE)
child3.setPrefWidth(300)

除了分隔符最初位于错误的位置(直到我调整 SplitPane 的大小,1px 就足够了)并且当缩小窗口宽度时,分隔符位于组件内部。

我怎样才能使这项工作?

最佳答案

尝试设置像 AS3Boyan 所说的除数

split.setDividerPositions(0.1f, 0.6f, 0.9f)

并添加这个:

How can I avoid a SplitPane to resize one of the panes when the window resizes?

关于resize - JavaFX - SplitPane,调整大小和比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15324321/

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