JavaFX布局-ScrollPane

avatar
作者
猴君
阅读量:0

JavaFX布局-ScrollPane

  • 一个容器组件,用于展示那些可能超出窗口尺寸的内容
  • 当内容超过容器的大小时,会自动出现滚动条

常用属性

padding

内边距,可以单独设置上、下、左、右的内边距

scrollPane.setPadding(new Insets(10, 10, 10, 10)); 

content

容器内容,可以是任何布局容器

scrollPane.setContent(null); 

vbarPolicy

垂直滚动条

scrollPane.setVbarPolicy(ScrollBarPolicy.AS_NEEDED); 

hbarPolicy

水平滚动条

scrollPane.setHbarPolicy(ScrollBarPolicy.AS_NEEDED); 

fitToWidth

是否ScrollPane的宽度将自动调整以适应其父容器的宽度

scrollPane.setFitToWidth(true); 

fitToHeight

是否ScrollPane的高度将自动调整以适应其父容器的高度

scrollPane.setFitToHeight(true); 

实现方式

Java实现

在这里插入图片描述

public static ScrollPane demo1() {         ScrollPane scrollPane = new ScrollPane();         // 内边距         scrollPane.setPadding(new Insets(10, 10, 10, 10));         // 垂直滚动条         scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);         // 水平滚动条         scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);         // 宽度自适应         scrollPane.setFitToWidth(true);         // 高度自适应         scrollPane.setFitToHeight(true);          FlowPane flowPane = new FlowPane();         flowPane.setOrientation(Orientation.HORIZONTAL);         flowPane.prefWidthProperty().bind(scrollPane.widthProperty().subtract(20));          Circle circle = new Circle(300, Color.RED);         Rectangle rectangle = new Rectangle(200, 150, Color.BLUE);         Polygon polygon = new Polygon(10, 20, 30, 40, 50, 20);         polygon.setFill(Color.RED);         polygon.setStroke(Color.BLACK);         polygon.setStrokeWidth(2);         flowPane.getChildren().addAll(circle, rectangle, polygon);         for (int i = 1; i < 100; i++) {             flowPane.getChildren().add(new Button("Button " + i));         }          scrollPane.setContent(flowPane);         return scrollPane;     } 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!