gpt4 book ai didi

JavaFX FXML : Expand ScrollPane to Fit height of its Content Pane Until it reahces its MaxHeight property

转载 作者:行者123 更新时间:2023-11-30 06:20:25 24 4
gpt4 key购买 nike

我有以下 FXML View :

  • VBox
    • 滚动 Pane
      • VBox buttonsContainer
    • 按钮(向 buttonsContainer 添加新按钮)

我希望 ScrollPane 扩展其高度以匹配其子垂直框的高度,直到达到一定高度[例如 200px],然后停止扩展。

过去 1 小时我一直在使用 Min/Pref Viewport HeightMin/Max/Pref Height 属性来实现此目的,但没有任何效果解决了。​​

这可以吗?

编辑:这是一个最小、完整且可验证的示例:

MainView.fxml

<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.layout.VBox?>

<VBox alignment="CENTER" prefHeight="0.0" prefWidth="200.0" spacing="5.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="MainController">
<ScrollPane maxHeight="200.0" VBox.vgrow="ALWAYS">
<VBox fx:id="_buttonsContainer" />
</ScrollPane>
<Button fx:id="_btnAddButton" mnemonicParsing="false" text="Button" />
</VBox>

MainController.java

public class MainController implements Initializable{

@FXML private Button _btnAddButton;
@FXML private VBox _buttonsContainer;


@Override
public void initialize(URL location, ResourceBundle resources) {
_btnAddButton.setOnAction(e -> {
addButton();
});
}

private void addButton(){
_buttonsContainer.getChildren().add(new Button());
}
}

最佳答案

这似乎有效:

   <ScrollPane fx:id="scrollPane" maxHeight="200.0" minViewportHeight="0.0" minHeight="0.0">
<VBox fx:id="_buttonsContainer" />
</ScrollPane>

默认情况下,滚动 Pane 及其视口(viewport)似乎有一些固定的正最小高度。

关于JavaFX FXML : Expand ScrollPane to Fit height of its Content Pane Until it reahces its MaxHeight property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48267121/

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