模块 java.desktop

类 ScrollPaneLayout

java.lang.Object
javax.swing.ScrollPaneLayout
所有已实现的接口:
LayoutManager , Serializable , ScrollPaneConstants
已知子类:
ScrollPaneLayout.UIResource

public class ScrollPaneLayout extends Object implements LayoutManager , ScrollPaneConstants , Serializable
JScrollPane 使用的布局管理器。 JScrollPaneLayout 负责九个组件:一个视口、两个滚动条、一个行标题、一个列标题和四个“角”组件。

Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder

自从:
1.2
参见:
  • 字段详细信息

  • 构造方法详细信息

    • ScrollPaneLayout

      public ScrollPaneLayout()
      构造一个 ScrollPaneLayout
  • 方法详情

    • syncWithScrollPane

      public void syncWithScrollPane(JScrollPane  sp)
      在将 ScrollPaneLayout 设置为 JScrollPane 的 LayoutManager 后调用此方法。它初始化通常由 addLayoutComponent 设置的所有内部字段。例如:
       ScrollPaneLayout mySPLayout = new ScrollPanelLayout() {
         public void layoutContainer(Container p) {
           super.layoutContainer(p);
           // do some extra work here ...
         }
       };
       scrollpane.setLayout(mySPLayout):
       
      参数:
      sp - JScrollPane 的实例
    • addSingletonComponent

      protected Component  addSingletonComponent(Component  oldC, Component  newC)
      删除现有组件。添加新组件(例如左上角或垂直滚动条)时,必须删除旧组件(如果存在)。

      此方法返回 newC 。如果 oldC 不等于 newC 并且是非 null ,它将从其父项中删除。

      参数:
      oldC - 要替换的 Component
      newC - 要添加的 Component
      返回:
      newC
    • addLayoutComponent

      public void addLayoutComponent(String  s, Component  c)
      将指定的组件添加到布局中。使用以下之一标识布局:
      • ScrollPaneConstants.VIEWPORT
      • ScrollPaneConstants.VERTICAL_SCROLLBAR
      • ScrollPaneConstants.HORIZONTAL_SCROLLBAR
      • ScrollPaneConstants.ROW_HEADER
      • ScrollPaneConstants.COLUMN_HEADER
      • ScrollPaneConstants.LOWER_LEFT_CORNER
      • ScrollPaneConstants.LOWER_RIGHT_CORNER
      • ScrollPaneConstants.UPPER_LEFT_CORNER
      • ScrollPaneConstants.UPPER_RIGHT_CORNER
      指定者:
      addLayoutComponent 在接口 LayoutManager
      参数:
      s - 组件标识符
      c - 要添加的组件
      抛出:
      IllegalArgumentException - 如果 s 是无效密钥
    • removeLayoutComponent

      public void removeLayoutComponent(Component  c)
      从布局中移除指定的组件。
      指定者:
      removeLayoutComponent 在接口 LayoutManager
      参数:
      c - 要删除的组件
    • getVerticalScrollBarPolicy

      public int getVerticalScrollBarPolicy()
      返回垂直滚动条显示策略。
      返回:
      给出显示策略的整数
      参见:
    • setVerticalScrollBarPolicy

      public void setVerticalScrollBarPolicy(int x)
      设置垂直滚动条显示策略。选项是:
      • ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
      • ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
      • ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS
      注意:应用程序应使用此方法的JScrollPane 版本。它的存在只是为了向后兼容此类的 Swing 1.0.2(及更早版本)版本。
      参数:
      x - 给出显示策略的整数
      抛出:
      IllegalArgumentException - 如果 x 是无效的垂直滚动条策略,如上所列
    • getHorizontalScrollBarPolicy

      public int getHorizontalScrollBarPolicy()
      返回水平滚动条显示策略。
      返回:
      给出显示策略的整数
      参见:
    • setHorizontalScrollBarPolicy

      public void setHorizontalScrollBarPolicy(int x)
      设置水平滚动条显示策略。选项是:
      • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
      • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
      • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
      注意:应用程序应使用此方法的JScrollPane 版本。它的存在只是为了向后兼容此类的 Swing 1.0.2(及更早版本)版本。
      参数:
      x - 一个给出显示策略的整数
      抛出:
      IllegalArgumentException - 如果 x 不是有效的水平滚动条策略,如上所列
    • getViewport

      public JViewport  getViewport()
      返回显示可滚动内容的 JViewport 对象。
      返回:
      显示可滚动内容的 JViewport 对象
      参见:
    • getHorizontalScrollBar

      public JScrollBar  getHorizontalScrollBar()
      返回处理水平滚动的 JScrollBar 对象。
      返回:
      处理水平滚动的 JScrollBar 对象
      参见:
    • getVerticalScrollBar

      public JScrollBar  getVerticalScrollBar()
      返回处理垂直滚动的 JScrollBar 对象。
      返回:
      处理垂直滚动的 JScrollBar 对象
      参见:
    • getRowHeader

      public JViewport  getRowHeader()
      返回作为行标题的 JViewport 对象。
      返回:
      作为行标题的 JViewport 对象
      参见:
    • getColumnHeader

      public JViewport  getColumnHeader()
      返回作为列标题的 JViewport 对象。
      返回:
      作为列标题的 JViewport 对象
      参见:
    • getCorner

      public Component  getCorner(String  key)
      返回指定角的 Component
      参数:
      key - 指定角的 String
      返回:
      指定角的 Component,如 ScrollPaneConstants 中所定义;如果 key 不是四个角之一,则返回 null
      参见:
    • preferredLayoutSize

      public Dimension  preferredLayoutSize(Container  parent)
      ScrollPane 的首选大小是 insets 的大小,加上视口的首选大小,加上可见标题的首选大小,加上在给定当前视图和当前滚动条显示策略的情况下将出现的滚动条的首选大小。

      请注意,rowHeader 计算为首选宽度的一部分,colHeader 计算为首选大小的一部分。

      指定者:
      preferredLayoutSize 在接口 LayoutManager
      参数:
      parent - 将要布置的 Container
      返回:
      一个 Dimension 对象,指定视口和任何滚动条的首选大小
      参见:
    • minimumLayoutSize

      public Dimension  minimumLayoutSize(Container  parent)
      ScrollPane 的最小大小是 insets 的大小加上视口的最小大小,加上滚动窗格的 viewportBorder insets,加上可见标题的最小大小,加上 displayPolicy 不是 NEVER 的滚动条的最小大小。
      指定者:
      minimumLayoutSize 在接口 LayoutManager
      参数:
      parent - 将要布置的 Container
      返回:
      指定最小尺寸的 Dimension 对象
      参见:
    • layoutContainer

      public void layoutContainer(Container  parent)
      布置滚动窗格。组件的定位取决于以下约束:
      • 行标题(如果存在且可见)将获得其首选宽度和视口高度。
      • 列标题(如果存在且可见)将获得其首选高度和视口宽度。
      • 如果需要垂直滚动条,即如果视口的范围高度小于它的视图高度,或者如果displayPolicy 始终为,那么就其尺寸而言,它会被视为行标题并显示。
      • 如果需要水平滚动条,则将其视为列标题(请参阅上面关于垂直滚动条的段落)。
      • 如果滚动窗格有一个非 null viewportBorder ,则为其分配空间。
      • 考虑到先前的约束后,视口获得可用空间。
      • 角组件(如果提供)与滚动条和标题的末端对齐。如果有垂直滚动条,右角出现;如果有水平滚动条,则显示下角;行标题位于左角,列标题位于上角。
      指定者:
      layoutContainer 在接口 LayoutManager
      参数:
      parent - 要布置的 Container
    • getViewportBorderBounds

      @Deprecated public Rectangle  getViewportBorderBounds(JScrollPane  scrollpane)
      已弃用。
      从 JDK 版本 Swing1.1 开始,由 JScrollPane.getViewportBorderBounds() 取代。
      返回指定滚动窗格视口周围的边框边界。
      参数:
      scrollpane - JScrollPane 的实例
      返回:
      视口边框的大小和位置