Module  java.desktop
软件包  java.awt

Class ScrollPane

  • All Implemented Interfaces:
    ImageObserverMenuContainerSerializableAccessible


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

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

    某些可调整的属性(最小值,最大值,块输入和可见的安装)由滚动条内部根据滚动条及其子代的几何形状设置,这些属性不应由使用滚动条的程序设置。

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

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

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

    默认情况下,启用带轮盘鼠标的滚轮滚动。 这可以使用setWheelScrollingEnabled禁用。 可以通过设置水平和垂直可调节的块和单位增量来定制轮滚动。 有关如何调度鼠标滚轮事件的信息,请参阅MouseWheelEvent的类描述。

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

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

      • SCROLLBARS_AS_NEEDED

        public static final int SCROLLBARS_AS_NEEDED
        指定仅当小孩的大小超过水平/垂直维度中滚动窗口的大小时才应显示水平/垂直滚动条。
        另请参见:
        Constant Field Values
      • SCROLLBARS_ALWAYS

        public static final int SCROLLBARS_ALWAYS
        指定水平/垂直滚动条应始终显示,而不管滚动条和子对象的大小如何。
        另请参见:
        Constant Field Values
      • SCROLLBARS_NEVER

        public static final int SCROLLBARS_NEVER
        指定水平/垂直滚动条不应该显示,而不管滚动条和子的相应大小。
        另请参见:
        Constant Field Values
    • 方法详细信息

      • 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,width =(子宽度 - 视图端口宽度),height =(子高度 - 视图端口高度)。 这是一种方便的方法,它与可表示滚动条状态的可调整对象相连接。
        参数
        x - 要滚动到的x位置
        y - 要滚动到的位置
        异常
        NullPointerException - 如果滚动条不包含小孩
      • setScrollPosition

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

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

        public void doLayout​()
        通过将其小孩调整为首选尺寸,将这个容器放在一起。 如果小孩的新的优选大小导致当前滚动位置无效,滚动位置被设置为最接近的有效位置。
        重写:
        doLayoutContainer
        另请参见:
        Component.validate()
      • layout

        @Deprecated
        public void layout​()
        已过时。 从JDK 1.1版开始,由doLayout()替代。
        重写:
        layoutContainer
      • paramString

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

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

        public void setWheelScrollingEnabled​(boolean handleWheel)
        启用/禁用滚动以响应鼠标滚轮的移动。 轮滚动默认启用。
        参数
        handleWheel - true如果滚动应该为MouseWheelEvent自动完成,否则为 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在接口 Accessible
        重写:
        getAccessibleContextComponent
        结果
        一个AccessibleAWTScrollPane,用作此ScrollPane的AccessibleContext
        从以下版本开始:
        1.3