gpt4 book ai didi

javafx - 如何在调整 ScrollPane 大小时显示滚动条? (在 JavaFX 中)

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

我在 ScrollPane 中有一个 FlowPane。在流 Pane 中,我放置了四个矩形形状。
当我调整(缩小)窗口的大小时,滚动 Pane 没有显示滚动条,如下所示:

enter image description here

但是当我进一步减小尺寸时,它会在某个时候出现。

下面是我的代码:

public class FlowPaneInsideScrollPane extends Application{
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {

ScrollPane scrollPane = new ScrollPane();
scrollPane.setFitToWidth(true);
scrollPane.setFitToHeight(true);

FlowPane flowPane = new FlowPane();
flowPane.setStyle("-fx-background-color: blue");
flowPane.setPadding(new Insets(10, 10, 10, 10));
flowPane.setHgap(10);
flowPane.setVgap(10);

Rectangle rect1 = new Rectangle(100, 100, Color.RED);
Rectangle rect2 = new Rectangle(100, 100, Color.RED);
Rectangle rect3 = new Rectangle(100, 100, Color.RED);
Rectangle rect4 = new Rectangle(100, 100, Color.RED);

flowPane.getChildren().add(rect1);
flowPane.getChildren().add(rect2);
flowPane.getChildren().add(rect3);
flowPane.getChildren().add(rect4);

scrollPane.setContent(flowPane);
primaryStage.setScene(new Scene(scrollPane, 500, 500));
primaryStage.show();
}
}

i) 我应该检查 scrollPane 的哪个属性以获得显示滚动条的默认值?

ii) 如何修改代码以便在所需点显示滚动条(调整大小时)?

最佳答案

滚动条策略由 ScrollPane.setHbarPolicy(...) 确定和 ScrollPane.setVbarPolicy(...) .

我认为这里的问题是你有 scrollPane.setFitToWidth(true)scrollPane.setFitToHeight(true) ,这导致 ScrollPane 尝试强制 FlowPane 与滚动 Pane 的视口(viewport)大小相同。尝试注释掉 scrollPane.setFitToHeight(true)。如果需要,您可以将 scrollPane 的背景颜色设置为与流 Pane 相同的背景颜色。

关于javafx - 如何在调整 ScrollPane 大小时显示滚动条? (在 JavaFX 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951290/

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