gpt4 book ai didi

javafx - 如何在 SplitPane JavaFX 中锁定分隔线?

转载 作者:行者123 更新时间:2023-12-04 17:09:12 28 4
gpt4 key购买 nike

我有一个 SplitPane,我需要将布局划分为 25% 和 75%。另外,我需要禁止在 25% 分割后向右侧拖动。但是我可以在 25% 的空间内拖动到任何程度。请帮忙。

最佳答案

SplitPane将尊重它包含的组件(items)的最小和最大尺寸。所以要得到你想要的行为,绑定(bind) maxWidth左侧组件的 splitPane.maxWidthProperty().multiply(0.25) :

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.SplitPane;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class ConstrainedSplitPane extends Application {

@Override
public void start(Stage primaryStage) {
StackPane leftPane = new StackPane(new Label("Left"));
StackPane rightPane = new StackPane(new Label("Right"));
SplitPane splitPane = new SplitPane();
splitPane.getItems().addAll(leftPane, rightPane);
splitPane.setDividerPositions(0.25);

//Constrain max size of left component:
leftPane.maxWidthProperty().bind(splitPane.widthProperty().multiply(0.25));

primaryStage.setScene(new Scene(new BorderPane(splitPane), 800, 600));
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}
}

关于javafx - 如何在 SplitPane JavaFX 中锁定分隔线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27921491/

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