模块  java.desktop
软件包  java.awt

Class ScrollPane

  • 实现的所有接口
    ImageObserverMenuContainerSerializableAccessible

    public class ScrollPane
    extends Container
    implements Accessible
    一个容器类,它为单个子组件实现自动水平和/或垂直滚动。 滚动条的显示策略可以设置为:
    1. 根据需要:仅在滚动窗格需要时创建和显示滚动条
    2. 始终:滚动条创建并始终由滚动窗格显示
    3. never:滚动条永远不会创建或显示滚动条

    水平和垂直滚动条的状态由两个ScrollPaneAdjustable对象(每个维度一个)表示,它们实现Adjustable接口。 API提供了访问这些对象的方法,以便可以操纵Adjustable对象上的属性(例如unitIncrement,value等)。

    某些可调整属性(minimum,maximum,blockIncrement和visibleAmount)由滚动窗格在内部根据滚动窗格及其子窗体的几何设置,这些不应由使用滚动窗格的程序设置。

    如果滚动条显示策略定义为“从不”,则滚动窗格仍然可以使用setScrollPosition()方法以编程方式滚动,并且滚动窗格将移动并适当地剪切子项的内容。 如果程序需要创建和管理自己的可调控件,则此策略非常有用。

    滚动条的位置由用户在程序外部设置的特定于平台的属性控制。

    此容器的初始大小设置为100x100,但可以使用setSize()重置。

    默认情况下启用在装有轮子的鼠标上滚动滚轮。 可以使用setWheelScrollingEnabled禁用此setWheelScrollingEnabled 通过设置水平和垂直可调节的块和单位增量,可以自定义滚轮。 有关如何调度鼠标滚轮事件的信息,请参阅MouseWheelEvent的类说明。

    插件用于定义滚动条使用的任何空间以及滚动窗格创建的任何边框。 getInsets()可用于获取insets的当前值。 如果scrollbarsAlwaysVisible的值为false,则insets的值将根据滚动条当前是否可见而动态更改。

    另请参见:
    Serialized Form
    • 字段详细信息

      • SCROLLBARS_AS_NEEDED

        public static final int SCROLLBARS_AS_NEEDED
        指定仅当子项的大小超过水平/垂直维度中滚动窗格的大小时才应显示水平/垂直滚动条。
        另请参见:
        常数字段值
      • SCROLLBARS_ALWAYS

        public static final int SCROLLBARS_ALWAYS
        指定始终显示水平/垂直滚动条,而不管滚动窗格和子项的相应大小。
        另请参见:
        常数字段值
      • SCROLLBARS_NEVER

        public static final int SCROLLBARS_NEVER
        指定不管滚动窗格和子项的相应大小,都不应显示水平/垂直滚动条。
        另请参见:
        常数字段值
    • 方法详细信息

      • getScrollbarDisplayPolicy

        public int getScrollbarDisplayPolicy()
        返回滚动条的显示策略。
        结果
        滚动条的显示策略
      • getViewportSize

        public Dimension getViewportSize()
        返回滚动窗格视图端口的当前大小。
        结果
        视口的大小(以像素为单位)
      • getHScrollbarHeight

        public int getHScrollbarHeight()
        返回水平滚动条占用的高度,该高度与滚动窗格当前是否显示无关。
        结果
        水平滚动条的高度(以像素为单位)
      • getVScrollbarWidth

        public int getVScrollbarWidth()
        返回垂直滚动条占用的宽度,该宽度与滚动窗格当前是否显示无关。
        结果
        垂直滚动条的宽度(以像素为单位)
      • getVAdjustable

        public Adjustable getVAdjustable()
        返回表示垂直滚动条状态的ScrollPaneAdjustable对象。 此方法的声明返回类型是Adjustable以保持向后兼容性。
        结果
        垂直滚动条状态
        另请参见:
        ScrollPaneAdjustable
      • getHAdjustable

        public Adjustable getHAdjustable()
        返回表示水平滚动条状态的ScrollPaneAdjustable对象。 此方法的声明返回类型为Adjustable以保持向后兼容性。
        结果
        水平滚动条状态
        另请参见:
        ScrollPaneAdjustable
      • setScrollPosition

        public void setScrollPosition​(int x,
                                      int y)
        滚动到子组件中的指定位置。 只有滚动窗格包含子项时,才能调用此方法。 指定子项的合法滚动边界之外的位置将滚动到最近的合法位置。 法律边界定义为矩形:x = 0,y = 0,宽度=(子宽度 - 视口宽度),高度=(子高度 - 视口高度)。 这是一种便捷方法,它与表示滚动条状态的Adjustable对象接口。
        参数
        x - 要滚动到的x位置
        y - 要滚动到的y位置
        异常
        NullPointerException - 如果滚动窗格不包含子项
      • setScrollPosition

        public void setScrollPosition​(Point p)
        滚动到子组件中的指定位置。 只有在滚动窗格包含子项且指定位置在子项的合法滚动范围内时,才会调用此方法。 指定子项的合法滚动边界之外的位置将滚动到最近的合法位置。 法律边界定义为矩形:x = 0,y = 0,宽度=(子宽度 - 视口宽度),高度=(子高度 - 视口高度)。 这是一种便捷方法,它与表示滚动条状态的Adjustable对象接口。
        参数
        p - 表示要滚动到的位置的Point
        异常
        NullPointerException - 如果 pnull
      • getScrollPosition

        public Point getScrollPosition()
        返回子项中当前的x,y位置,该位置显示在滚动面板视图端口的0,0位置。 这是一种便捷方法,它与表示滚动条状态的可调整对象相连接。
        结果
        当前滚动位置的坐标位置
        异常
        NullPointerException - 如果滚动窗格不包含子项
      • doLayout

        public void doLayout()
        通过将其子项调整为其首选大小来布置此容器。 如果子项的新首选大小导致当前滚动位置无效,则滚动位置将设置为最接近的有效位置。
        重写:
        doLayout在课程 Container
        另请参见:
        Component.validate()
      • layout

        @Deprecated
        public void layout()
        Deprecated.
        As of JDK version 1.1, replaced by doLayout().
        重写:
        layout在类 Container
      • paramString

        public String paramString()
        返回表示此ScrollPane的状态的字符串。 此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
        重写:
        paramString在类 Container
        结果
        此滚动窗格的参数字符串
      • eventTypeEnabled

        protected boolean eventTypeEnabled​(int type)
        如果启用了滚轮滚动,我们将为MouseWheelEvents返回true
        从以下版本开始:
        1.4
      • setWheelScrollingEnabled

        public void setWheelScrollingEnabled​(boolean handleWheel)
        启用/禁用滚动以响应鼠标滚轮的移动。 轮盘滚动默认启用。
        参数
        handleWheel - true如果要为MouseWheelEvent自动滚动, false否则为 false
        从以下版本开始:
        1.4
        另请参见:
        isWheelScrollingEnabled()MouseWheelEventMouseWheelListener
      • isWheelScrollingEnabled

        public boolean isWheelScrollingEnabled()
        指示是否响应鼠标滚轮进行滚动。 轮盘滚动默认启用。
        结果
        true如果滚轮启用; 否则false
        从以下版本开始:
        1.4
        另请参见:
        setWheelScrollingEnabled(boolean)
      • getAccessibleContext

        public AccessibleContext getAccessibleContext()
        获取与此ScrollPane关联的AccessibleContext。 对于滚动窗格,AccessibleContext采用AccessibleAWTScrollPane的形式。 如有必要,将创建一个新的AccessibleAWTScrollPane实例。
        Specified by:
        getAccessibleContext in interface Accessible
        重写:
        getAccessibleContext在课程 Component
        结果
        AccessibleAWTScrollPane,用作此ScrollPane的AccessibleContext
        从以下版本开始:
        1.3