javax.swing

接口
异常
所有已知实现类:
DefaultTreeCellEditor.DefaultTextField, JEditorPane, JFormattedTextField, JList, JPasswordField, JTable, JTextArea, JTextComponent, JTextField, JTextPane, JTree

public interface Scrollable

为类似 JScrollPane 的滚动容器提供信息的接口。用于查看 JScrollPane (或其他滚动容器)的视口的复杂组件应实现此接口。

另请参见:
JViewport, JScrollPane, JScrollBar

方法摘要
 Dimension getPreferredScrollableViewportSize()
          返回视图组件视口的首选大小。
 int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
          显示逻辑行或列的组件应计算滚动增量,它将根据方向的值完全公开一个行块或列块。
 boolean getScrollableTracksViewportHeight()
          如果视口总是强制此 Scrollable 的高度与视口高度匹配,则返回 true。
 boolean getScrollableTracksViewportWidth()
          如果视口总是强制此 Scrollable 的宽度与视口宽度匹配,则返回 true。
 int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
          显示逻辑行或列的组件应计算滚动增量,它将根据方向的值完全公开一个新的行或列。
 

方法详细信息

getPreferredScrollableViewportSize

Dimension getPreferredScrollableViewportSize()
返回视图组件视口的首选大小。例如, JList 组件的首选大小为容纳其列表中所有单元所需的大小。但是, preferredScrollableViewportSize 的值为 JList.getVisibleRowCount 行所需的大小。此处不带任何影响视口大小的属性的组件应只返回 getPreferredSize

返回:
视图为此 ScrollableJViewport 的首选大小
另请参见:
JComponent.getPreferredSize()

getScrollableUnitIncrement

int getScrollableUnitIncrement(Rectangle visibleRect,
                               int orientation,
                               int direction)
显示逻辑行或列的组件应计算滚动增量,它将根据方向的值完全公开一个新的行或列。理想情况下,组件应通过返回需要的距离来处理一个部分公开的行或列,以便完全公开此项。

每当用户请求一个单位的滚动时,类似 JScrollPane 的滚动容器将使用此方法。

参数:
visibleRect - 视口内可见的视图区域
orientation - SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL。
direction - 小于 0 为向上/左滚动,大于 0 为向下/右滚动。
返回:
沿指定方向滚动的“单位”增量。此值应该永远为正数。
另请参见:
JScrollBar.setUnitIncrement(int)

getScrollableBlockIncrement

int getScrollableBlockIncrement(Rectangle visibleRect,
                                int orientation,
                                int direction)
显示逻辑行或列的组件应计算滚动增量,它将根据方向的值完全公开一个行块或列块。

每当用户请求一个块的滚动时,类似 JScrollPane 的滚动容器将使用此方法。

参数:
visibleRect - 视口内可见的视图区域
orientation - SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL。
direction - 小于 0 为向上/左滚动,大于 0 为向下/右滚动。
返回:
沿指定方向滚动的“块”增量。此值应该永远为正数。
另请参见:
JScrollBar.setBlockIncrement(int)

getScrollableTracksViewportWidth

boolean getScrollableTracksViewportWidth()
如果视口总是强制此 Scrollable 的宽度与视口宽度匹配,则返回 true。例如,支持换行的正常文本显示在这里将返回 true,因为不希望让换行内容超出视口右边界而无法显示。注意,祖先为 JScrollPane 的 Scrollable 返回 true 可有效地禁用水平滚动。

类似 JViewport 的滚动容器在每次进行验证时都使用此方法。

返回:
如果视口强制 Scrollable 宽度与其自身宽度匹配,则返回 True。

getScrollableTracksViewportHeight

boolean getScrollableTracksViewportHeight()
如果视口总是强制此 Scrollable 的高度与视口高度匹配,则返回 true。例如,纵行文本视图(按列从左向右流入文本)通过在此处返回 true 可有效地禁用垂直滚动。

类似 JViewport 的滚动容器在每次进行验证时都使用此方法。

返回:
如果视口强制 Scrollable 高度与其自身高度匹配,则返回 True。