使 FlowPane 适合 ScrollPane

问题描述 投票:0回答:2

我使用此代码将 FlowPane 放入 ScrollPane 中

FlowPane flowPane = new FlowPane(Orientation.HORIZONTAL);
ScrollPane scroll = new ScrollPane();
scroll.setContent(flowPane);
scroll.viewportBoundsProperty().addListener(new ChangeListener<Bounds>()
{
    @Override
    public void changed(ObservableValue<? extends Bounds> ov, Bounds oldBounds, Bounds bounds)
    {
        flowPane.setPrefWidth(bounds.getWidth());
        flowPane.setPrefHeight(bounds.getHeight());
    }
});

不幸的是,这可能不是最好的解决方案。在 Java 8 中还有另一种更简单的方法将 FlowPane 放入 ScrollPane 中吗?

javafx javafx-2 javafx-8
2个回答
10
投票

ScrollPane 有一些方法可以做到这一点:

scrollPane.setFitToWidth(true);
scrollPane.setFitToHeight(true);

0
投票

尝试通过CSS或API将flowPane的

maxWidth
maxHeoght
属性设置为
Double.MAX_VALUE
,以便在容器内提供最大的扩展:

flowPane.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.