Module  javafx.controls
软件包  javafx.scene.control

Class ScrollPane

  • All Implemented Interfaces:
    StyleableEventTargetSkinnable


    @DefaultProperty("content")
    public class ScrollPane
    extends Control
    提供其内容的滚动,剪切视口的控件。 它允许用户直接滚动内容(平移)或使用滚动条滚动。 ScrollPane允许指定滚动条策略,该策略决定何时显示滚动条:始终,永不,或仅在需要时。 可以为水平和垂直滚动条独立指定滚动条策略。

    ScrollPane允许应用程序设置在水平和垂直方向上定位内容的当前,最小和最大值。 这些值按比例映射到所包含节点的layoutBounds上。

    ScrollPane布局计算基于layoutBounds而不是滚动节点的boundsInParent(可视边界)。 如果应用程序希望滚动基于节点的可视边界(对于缩放内容等),则需要将滚动节点包裹在组中。

    ScrollPane将focusTraversable设置为false。

    此示例创建一个ScrollPane,其中包含一个Rectangle:

       import javafx.scene.control.ScrollPane; import javafx.scene.shape.Rectangle; Rectangle rect = new Rectangle(200, 200, Color.RED); ScrollPane s1 = new ScrollPane(); s1.setPrefSize(120, 120); s1.setContent(rect);  
    从以下版本开始:
    JavaFX 2.0
    • 构造方法详细信息

      • ScrollPane

        public ScrollPane​()
        创建一个新的ScrollPane。
      • ScrollPane

        public ScrollPane​(Node content)
        创建一个新的ScrollPane。
        参数
        content - ScrollPane的初始内容
        从以下版本开始:
        JavaFX 8.0
    • 方法详细信息

      • setHbarPolicy

        public final void setHbarPolicy​(ScrollPane.ScrollBarPolicy value)
        设置属性hbarPolicy的值。
        Property description:
        指定显示水平滚动条的策略。
      • getHbarPolicy

        public final ScrollPane.ScrollBarPolicy getHbarPolicy​()
        获取属性hbarPolicy的值。
        Property description:
        指定显示水平滚动条的策略。
      • setVbarPolicy

        public final void setVbarPolicy​(ScrollPane.ScrollBarPolicy value)
        设置属性vbarPolicy的值。
        Property description:
        指定显示垂直滚动条的策略。
      • getVbarPolicy

        public final ScrollPane.ScrollBarPolicy getVbarPolicy​()
        获取属性vbarPolicy的值。
        Property description:
        指定显示垂直滚动条的策略。
      • setContent

        public final void setContent​(Node value)
        设置属性内容的值。
        Property description:
        该节点用作此ScrollPane的内容。
      • getContent

        public final Node getContent​()
        获取属性内容的值。
        Property description:
        该节点用作此ScrollPane的内容。
      • setHvalue

        public final void setHvalue​(double value)
        设置属性hvalue的值。
        Property description:
        ScrollPane的当前水平滚动位置。 该值可以由应用程序设置,以编程方式滚动视图。 每当视口被用户滚动或平移时,ScrollPane将会更新此值。 该值必须始终在hminhmax的范围内。 hvalue等于hmin ,包含的节点被定位成使得其layoutBounds minX可见。 hvalue等于hmax ,所包含的节点被定位成使其layoutBounds maxX可见。 hvaluehminhmax之间时,所包含的节点按照layoutBounds minX和layoutBounds maxX按比例放置
      • getHvalue

        public final double getHvalue​()
        获取属性h值的值。
        Property description:
        ScrollPane的当前水平滚动位置。 该值可以由应用程序设置,以编程方式滚动视图。 每当视口被用户滚动或平移时,ScrollPane将会更新此值。 该值必须始终在hminhmax的范围内。 hvalue等于hmin ,包含的节点被定位成使得其layoutBounds minX可见。 hvalue等于hmax ,包含的节点被定位成使得其layoutBounds maxX可见。 hvaluehminhmax之间时,所包含的节点按照layoutBounds minX和layoutBounds maxX按比例放置
      • hvalueProperty

        public final DoubleProperty hvalueProperty​()
        ScrollPane的当前水平滚动位置。 该值可以由应用程序设置,以编程方式滚动视图。 每当视口被用户滚动或平移时,ScrollPane将会更新此值。 此值必须始终在hminhmax的范围内。 hvalue等于hmin ,包含的节点被定位成使得其layoutBounds minX可见。 hvalue等于hmax ,所包含的节点被定位成使得其layoutBounds maxX是可见的。 hvaluehminhmax之间时,所包含的节点按照layoutBounds minX和layoutBounds maxX按比例放置
        另请参见:
        getHvalue()setHvalue(double)
      • setVvalue

        public final void setVvalue​(double value)
        设置属性vvalue的值。
        Property description:
        ScrollPane的当前垂直滚动位置。 该值可以由应用程序设置,以编程方式滚动视图。 每当视口被用户滚动或平移时,ScrollPane将会更新此值。 该值必须始终在vminvmax的范围内。 vvalue等于vmin ,包含的节点被定位成使得其layoutBounds minY可见。 vvalue等于vmax ,所包含的节点被定位成使得它的layoutBounds maxY可见。 vvaluevminvmax之间时,所包含的节点按照layoutBounds minY和layoutBounds maxY按比例放置
      • getVvalue

        public final double getVvalue​()
        获取属性vvalue的值。
        Property description:
        ScrollPane的当前垂直滚动位置。 该值可以由应用程序设置,以编程方式滚动视图。 每当视口被用户滚动或平移时,ScrollPane将会更新此值。 该值必须始终在vminvmax的范围内。 vvalue等于vmin ,所包含的节点被定位成使得它的layoutBounds minY可见。 vvalue等于vmax ,包含的节点被定位成使得其layoutBounds maxY可见。 27069494505842vmax之间的vminvmax之间时,所包含的节点按比例位于layoutBounds minY和layoutBounds maxY之间
      • vvalueProperty

        public final DoubleProperty vvalueProperty​()
        ScrollPane的当前垂直滚动位置。 该值可以由应用程序设置,以编程方式滚动视图。 每当视口被用户滚动或平移时,ScrollPane将会更新此值。 此值必须始终在vminvmax的范围内。 vvalue等于vmin ,所包含的节点被定位成使得其layoutBounds minY可见。 vvalue等于vmax ,包含的节点被定位成使其layoutBounds maxY可见。 vvaluevminvmax之间时,所包含的节点按照layoutBounds minY和layoutBounds maxY按比例放置
        另请参见:
        getVvalue()setVvalue(double)
      • setHmin

        public final void setHmin​(double value)
        设置属性hmin的值。
        Property description:
        该ScrollPane的最小允许值为hvalue 默认值为0。
      • getHmin

        public final double getHmin​()
        获取属性hmin的值。
        Property description:
        该ScrollPane的最小允许值为hvalue 默认值为0。
      • setVmin

        public final void setVmin​(double value)
        设置属性vmin的值。
        Property description:
        该ScrollPane的最小允许值为vvalue 默认值为0。
      • getVmin

        public final double getVmin​()
        获取属性vmin的值。
        Property description:
        此ScrollPane的最小允许值为vvalue 默认值为0。
      • setHmax

        public final void setHmax​(double value)
        设置属性hmax的值。
        Property description:
        此ScrollPane的最大允许hvalue 默认值为1。
      • getHmax

        public final double getHmax​()
        获取属性hmax的值。
        Property description:
        此ScrollPane的最大允许hvalue 默认值为1。
      • setVmax

        public final void setVmax​(double value)
        设置属性vmax的值。
        Property description:
        此ScrollPane的最大允许vvalue 默认值为1。
      • getVmax

        public final double getVmax​()
        获取属性vmax的值。
        Property description:
        此ScrollPane的最大允许vvalue 默认值为1。
      • setFitToWidth

        public final void setFitToWidth​(boolean value)
        设置属性fitToWidth的值。
        Property description:
        如果为true,并且如果包含的节点是可调整大小,那么该节点将保持调整大小以匹配ScrollPane视口的宽度。 如果包含的节点不是可调整大小,则忽略此值。
      • isFitToWidth

        public final boolean isFitToWidth​()
        获取属性fitToWidth的值。
        Property description:
        如果为true,并且如果包含的节点是可调整大小,那么该节点将保持调整大小以匹配ScrollPane视口的宽度。 如果包含的节点不是可调整大小,则忽略此值。
      • fitToWidthProperty

        public final BooleanProperty fitToWidthProperty​()
        如果为true,并且如果包含的节点是可调整大小,那么该节点将保持调整大小以匹配ScrollPane视口的宽度。 如果包含的节点不是可调整大小,则忽略此值。
        另请参见:
        isFitToWidth()setFitToWidth(boolean)
      • setFitToHeight

        public final void setFitToHeight​(boolean value)
        设置属性fitToHeight的值。
        Property description:
        如果为true,并且如果包含的节点是可调整大小,则节点将被保持调整大小以匹配ScrollPane视口的高度。 如果包含的节点不是可调整大小,则忽略此值。
      • isFitToHeight

        public final boolean isFitToHeight​()
        获取属性fitToHeight的值。
        Property description:
        如果为true,并且如果包含的节点是可调整大小,则节点将被保持调整大小以匹配ScrollPane视口的高度。 如果包含的节点不是可调整大小,则忽略此值。
      • fitToHeightProperty

        public final BooleanProperty fitToHeightProperty​()
        如果为true,并且如果包含的节点是可调整大小,则节点将被保持调整大小以匹配ScrollPane视口的高度。 如果包含的节点不是可调整大小,则忽略此值。
        另请参见:
        isFitToHeight()setFitToHeight(boolean)
      • setPannable

        public final void setPannable​(boolean value)
        设置pannable属性的值。
        Property description:
        指定用户是否应该能够使用鼠标平移视口。 如果鼠标事件到达ScrollPane(也就是说,如果鼠标事件不被包含的节点或其中一个孩子阻止),则请参阅pannable以确定是否应将事件用于平移。
      • isPannable

        public final boolean isPannable​()
        获取pannable属性的值。
        Property description:
        指定用户是否应该能够使用鼠标平移视口。 如果鼠标事件到达ScrollPane(也就是说,如果鼠标事件没有被包含的节点或其一个孩子阻止),那么请参阅pannable以确定事件是否应该用于平移。
      • pannableProperty

        public final BooleanProperty pannableProperty​()
        指定用户是否应该能够使用鼠标平移视口。 如果鼠标事件到达ScrollPane(即,如果鼠标事件未被包含的节点或其子节点阻止),则请参阅pannable以确定事件是否应用于平移。
        另请参见:
        isPannable()setPannable(boolean)
      • setPrefViewportWidth

        public final void setPrefViewportWidth​(double value)
        设置属性prefViewportWidth的值。
        Property description:
        指定ScrollPane视口的首选宽度。 这是内容节点可用的宽度。 ScrollPane的整体宽度是ViewportWidth + padding
      • getPrefViewportWidth

        public final double getPrefViewportWidth​()
        获取属性prefViewportWidth的值。
        Property description:
        指定ScrollPane视口的首选宽度。 这是内容节点可用的宽度。 ScrollPane的整体宽度是ViewportWidth + padding
      • setPrefViewportHeight

        public final void setPrefViewportHeight​(double value)
        设置属性prefViewportHeight的值。
        Property description:
        指定ScrollPane视口的首选高度。 这是内容节点可用的高度。 ScrollPane的整体高度是ViewportHeight + padding
      • getPrefViewportHeight

        public final double getPrefViewportHeight​()
        获取属性prefViewportHeight的值。
        Property description:
        指定ScrollPane视口的首选高度。 这是内容节点可用的高度。 ScrollPane的整体高度是ViewportHeight + padding
      • setMinViewportWidth

        public final void setMinViewportWidth​(double value)
        设置属性minViewportWidth的值。
        Property description:
        指定ScrollPane视口的最小宽度。 这是内容节点可用的宽度。
        从以下版本开始:
        JavaFX 8u40
      • getMinViewportWidth

        public final double getMinViewportWidth​()
        获取属性minViewportWidth的值。
        Property description:
        指定ScrollPane视口的最小宽度。 这是内容节点可用的宽度。
        从以下版本开始:
        JavaFX 8u40
      • setMinViewportHeight

        public final void setMinViewportHeight​(double value)
        设置属性minViewportHeight的值。
        Property description:
        指定ScrollPane视口的最小高度。 这是内容节点可用的高度。
        从以下版本开始:
        JavaFX 8u40
      • getMinViewportHeight

        public final double getMinViewportHeight​()
        获取属性minViewportHeight的值。
        Property description:
        指定ScrollPane视口的最小高度。 这是内容节点可用的高度。
        从以下版本开始:
        JavaFX 8u40
      • setViewportBounds

        public final void setViewportBounds​(Bounds value)
        设置属性viewportBounds的值。
        Property description:
        ScrollPane视口的实际边界。 这是内容节点的边界。
      • getViewportBounds

        public final Bounds getViewportBounds​()
        获取属性viewportBounds的值。
        Property description:
        ScrollPane视口的实际边界。 这是内容节点的边界。
      • createDefaultSkin

        protected Skin<?> createDefaultSkin​()
        为此控件创建一个新的默认皮肤实例。 如果没有通过CSS -fx-skin提供皮肤或在具有setSkin(...)的子类中显式设置,则调用此控件创建皮肤。
        重写:
        createDefaultSkinControl
        结果
        此控件的默认皮肤的新实例。 如果为null,则控件将没有皮肤,除非由css提供。
      • getClassCssMetaData

        public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData​()
        结果
        与此类相关联的CssMetaData可能包括其类的CssMetaData。
        从以下版本开始:
        JavaFX 8.0
      • getInitialFocusTraversable

        protected Boolean getInitialFocusTraversable​()
        返回此控件的初始焦点遍历状态,供JavaFX CSS引擎正确设置其初始值。 该方法被覆盖,因为默认情况下UI控件将focus遍历设置为true,但这不适用于此控件。
        重写:
        getInitialFocusTraversableControl
        结果
        该控件的初始聚焦可移动状态
        从以下版本开始:
        9
      • queryAccessibleAttribute

        public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                               Object... parameters)
        该方法由辅助技术调用以请求属性的值。

        子类通常覆盖此方法来实现特定角色所需的属性。
        如果未处理特定属性,则必须调用超类实现。

        重写:
        queryAccessibleAttributeControl
        参数
        attribute - 请求的属性
        parameters - 参数的可选列表
        结果
        请求的属性的值
        另请参见:
        AccessibleAttribute