JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 JScrollPane

java.lang.Object
  繼承者 java.awt.Component
      繼承者 java.awt.Container
          繼承者 javax.swing.JComponent
              繼承者 javax.swing.JScrollPane
所有已實作的介面:
ImageObserver, MenuContainer, Serializable, Accessible, ScrollPaneConstants

public class JScrollPane
extends JComponent
implements ScrollPaneConstants, Accessible

提供輕量級元件的 scrollable 視圖。JScrollPane 管理視口、可選的垂直和水平滾動條以及可選的行和列標題視口。有關 JScrollPane 的導向任務的文檔,請參閱 The Java Tutorial 中的 How to Use Scroll Panes 一節。注意,JScrollPane 不支持重量級元件。

以下文本是對此圖像的描述。

JViewport 為資料源提供一個視窗或“視口”,例如,一個文本檔案。該資料源為由 JViewport 視圖顯示的“scrollable 客戶端”(即資料模型)。JScrollPane 基本上由 JScrollBar、一個 JViewport 以及它們之間的連線組成,如右圖所示。

除了滾動條和視口之外,JScrollPane 也可以有一個列標題和一個行標題。這二者都是 JViewport 物件,可用 setRowHeaderViewsetColumnHeaderView 指定。列標題視口自動左右滾動,追蹤主視口的左右滾動。(但是它不會垂直滾動。)行標題的滾動方式與此類似。

在兩個滾動條的交匯處、行標題與列標題的交匯處,或者滾動條與其中一個標題的交匯處,兩個元件在很接近角的地方停止,留下一個預設情況下為空的矩形空間。四個角都有可能存在這些空間。在上圖中,右上角存在該空間,由標籤「角元件」標識。

可使用 setCorner 方法替換許多的這些空白空間,以便將元件添加到一個特定角。(註:相同的元件不能添加到多個角。)如果想要為滾動窗格增加一些額外的裝飾或功能,那麼此方法很有用。每個角元件的大小都完全由標題和/或包圍它的滾動條的大小確定。

只有角元件存在於其中的角中有空白空間時該角元件才是可見的。例如,設想一個設置在滾動窗格(帶有列標題)右上角的元件。如果滾動窗格的垂直滾動條不存在(可能因為視圖元件尚未大到需要它的地步),那麼該角元件將不會顯示(因為標題和垂直滾動條的交匯點所創建的角中沒有空白空間)。要強制使滾動條始終顯示,可使用 setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_ALWAYS) 確保該角元件的空間始終存在。

要圍繞主視口添加一個邊界,可使用 setViewportBorder。(當然,也可以使用 setBorder 圍繞整個滾動窗格添加一個邊界。)

應該執行的一個常見操作是設置背景顏色,此顏色可在主視口小於視口或透明時使用。使用 scrollPane.getViewport().setBackground() 設置視口的背景色可實作此目的。設置視口而不是滾動窗格的顏色的原因是,預設情況下,JViewport 為不透明,還有一些其他屬性,這意味著它將用其背景色完全填充背景。因此當 JScrollPane 繪製其背景時,視口通常將在它上面繪製。

預設情況下,JScrollPane 使用 ScrollPaneLayout 處理其子元件的佈局。ScrollPaneLayout 使用以下兩個方法之一確定視口視圖的大小:

  1. 如果視圖實作了 Scrollable,將使用 getPreferredScrollableViewportSizegetScrollableTracksViewportWidthgetScrollableTracksViewportHeight 的組合,否則使用
  2. getPreferredSize

警告:Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy

警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder

另請參見:
JScrollBar, JViewport, ScrollPaneLayout, Scrollable, Component.getPreferredSize(), setViewportView(java.awt.Component), setRowHeaderView(java.awt.Component), setColumnHeaderView(java.awt.Component), setCorner(java.lang.String, java.awt.Component), setViewportBorder(javax.swing.border.Border)

巢狀類別摘要
protected  class JScrollPane.AccessibleJScrollPane
          此類別實作 JScrollPane 類別的可存取性支持。
protected  class JScrollPane.ScrollBar
          預設情況下,JScrollPane 創建的滾動條為此類別的實例。
 
從類別 javax.swing.JComponent 繼承的巢狀類別/介面
JComponent.AccessibleJComponent
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
protected  JViewport columnHeader
          列標題子級。
protected  JScrollBar horizontalScrollBar
          滾動窗格的水平滾動條子級。
protected  int horizontalScrollBarPolicy
          用於水平滾動條的顯示策略。
protected  Component lowerLeft
          在左下角顯示的元件。
protected  Component lowerRight
          在右下角顯示的元件。
protected  JViewport rowHeader
          行標題子級。
protected  Component upperLeft
          在左上角顯示的元件。
protected  Component upperRight
          在右上角顯示的元件。
protected  JScrollBar verticalScrollBar
          滾動窗格的垂直滾動條子級。
protected  int verticalScrollBarPolicy
          用於垂直滾動條的顯示策略。
protected  JViewport viewport
          滾動窗格的視口子級。
 
從類別 javax.swing.JComponent 繼承的欄位
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
從類別 java.awt.Component 繼承的欄位
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
從介面 javax.swing.ScrollPaneConstants 繼承的欄位
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
從介面 java.awt.image.ImageObserver 繼承的欄位
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
建構子摘要
JScrollPane()
          創建一個空的(無視口的視圖)JScrollPane,需要時水平和垂直滾動條都可顯示。
JScrollPane(Component view)
          創建一個顯示指定元件內容的 JScrollPane,只要元件的內容超過視圖大小就會顯示水平和垂直滾動條。
JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
          創建一個 JScrollPane,它將視圖元件顯示在一個視口中,視圖位置可使用一對滾動條控制。
JScrollPane(int vsbPolicy, int hsbPolicy)
          創建一個具有指定滾動條策略的空(無視口的視圖)JScrollPane
 
方法摘要
 JScrollBar createHorizontalScrollBar()
          預設返回 JScrollPane.ScrollBar
 JScrollBar createVerticalScrollBar()
          預設返回 JScrollPane.ScrollBar
protected  JViewport createViewport()
          預設返回新的 JViewport
 AccessibleContext getAccessibleContext()
          獲取與此 JScrollPane 相關聯的 AccessibleContext。
 JViewport getColumnHeader()
          返回列標題。
 Component getCorner(String key)
          返回位於指定角的元件。
 JScrollBar getHorizontalScrollBar()
          返回控制視口的水平視圖位置的水平滾動條。
 int getHorizontalScrollBarPolicy()
          返回水平滾動條策略值。
 JViewport getRowHeader()
          返回行標題。
 ScrollPaneUI getUI()
          返回呈現此元件的外觀 (L&F) 物件。
 String getUIClassID()
          返回用於建構呈現此元件時所用 L&F 類別的名稱的後綴。
 JScrollBar getVerticalScrollBar()
          返回控制視口垂直視圖位置的垂直滾動條。
 int getVerticalScrollBarPolicy()
          返回垂直滾動條策略值。
 JViewport getViewport()
          返回當前的 JViewport
 Border getViewportBorder()
          返回圍繞該視口的 Border 物件。
 Rectangle getViewportBorderBounds()
          返回視口邊界的範圍。
 boolean isValidateRoot()
          覆寫以返回 true,這樣任何在此 JScrollPane 的任何後代上對 revalidate 的調用將使從此 JScrollPane 開始的整個階層樹接受驗證。
 boolean isWheelScrollingEnabled()
          指示是否進行滾動以回應鼠標滾輪。
protected  String paramString()
          返回此 JScrollPane 的字元串表示形式。
 void setColumnHeader(JViewport columnHeader)
          移除舊的 columnHeader,如果有的話;如果新的 columnHeader 不為 null,將其 viewPosition 的 x 坐標與視口(如果有)同步然後將其添加到滾動窗格。
 void setColumnHeaderView(Component view)
          創建一個列標題視口(如果有必要),設置其視圖然後將此列標題視口添加到滾動窗格。
 void setComponentOrientation(ComponentOrientation co)
          設置由 ComponentOrientation 參數確定的垂直和水平滾動條方向。
 void setCorner(String key, Component corner)
          添加一個將顯示在一個滾動窗格角中的子級,如果有空間的話。
 void setHorizontalScrollBar(JScrollBar horizontalScrollBar)
          將控制視口水平視圖位置的水平滾動條添加到滾動窗格中。
 void setHorizontalScrollBarPolicy(int policy)
          確定水平滾動條何時顯示在滾動窗格上。
 void setLayout(LayoutManager layout)
          設置此 JScrollPane 的佈局管理器。
 void setRowHeader(JViewport rowHeader)
          移除舊的 rowHeader,如果存在;如果新的 rowHeader 不為 null,將其 viewPosition 的 y 坐標與視口(如果有)同步然後將其添加到滾動窗格。
 void setRowHeaderView(Component view)
          創建一個行標題視口(如果有必要),設置其視圖然後將此行標題視口添加到滾動窗格。
 void setUI(ScrollPaneUI ui)
          設置 ScrollPaneUI 物件,它為此元件提供外觀 (L&F)。
 void setVerticalScrollBar(JScrollBar verticalScrollBar)
          將控制視口垂直視圖位置的滾動條添加到滾動窗格中。
 void setVerticalScrollBarPolicy(int policy)
          確定垂直滾動條何時顯示在滾動窗格上。
 void setViewport(JViewport viewport)
          移除舊視口(如果有);強制新視口的 viewPosition 位於 +x,+y 象限中;將行和列標題(如果有)與新視口同步;最後將滾動條和標題與新視口同步。
 void setViewportBorder(Border viewportBorder)
          圍繞視口添加一個邊界。
 void setViewportView(Component view)
          創建一個視口(如果有必要)並設置其視圖。
 void setWheelScrollingEnabled(boolean handleWheel)
          啟用/禁用對鼠標滾輪滾動的移動回應。
 void updateUI()
          用一個來自當前預設外觀的 ScrollPaneUI 替換當前的 ScrollPaneUI 物件。
 
從類別 javax.swing.JComponent 繼承的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
從類別 java.awt.Container 繼承的方法
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
從類別 java.awt.Component 繼承的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

verticalScrollBarPolicy

protected int verticalScrollBarPolicy
用於垂直滾動條的顯示策略。預設為 ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED

另請參見:
setVerticalScrollBarPolicy(int)

horizontalScrollBarPolicy

protected int horizontalScrollBarPolicy
用於水平滾動條的顯示策略。預設為 ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED

另請參見:
setHorizontalScrollBarPolicy(int)

viewport

protected JViewport viewport
滾動窗格的視口子級。預設為一個空的 JViewport

另請參見:
setViewport(javax.swing.JViewport)

verticalScrollBar

protected JScrollBar verticalScrollBar
滾動窗格的垂直滾動條子級。預設為 JScrollBar

另請參見:
setVerticalScrollBar(javax.swing.JScrollBar)

horizontalScrollBar

protected JScrollBar horizontalScrollBar
滾動窗格的水平滾動條子級。預設為 JScrollBar

另請參見:
setHorizontalScrollBar(javax.swing.JScrollBar)

rowHeader

protected JViewport rowHeader
行標題子級。預設為 null

另請參見:
setRowHeader(javax.swing.JViewport)

columnHeader

protected JViewport columnHeader
列標題子級。預設為 null

另請參見:
setColumnHeader(javax.swing.JViewport)

lowerLeft

protected Component lowerLeft
在左下角顯示的元件。預設為 null

另請參見:
setCorner(java.lang.String, java.awt.Component)

lowerRight

protected Component lowerRight
在右下角顯示的元件。預設為 null

另請參見:
setCorner(java.lang.String, java.awt.Component)

upperLeft

protected Component upperLeft
在左上角顯示的元件。預設為 null

另請參見:
setCorner(java.lang.String, java.awt.Component)

upperRight

protected Component upperRight
在右上角顯示的元件。預設為 null

另請參見:
setCorner(java.lang.String, java.awt.Component)
建構子詳細資訊

JScrollPane

public JScrollPane(Component view,
                   int vsbPolicy,
                   int hsbPolicy)
創建一個 JScrollPane,它將視圖元件顯示在一個視口中,視圖位置可使用一對滾動條控制。滾動條策略指定滾動條在何時顯示,例如,如果 vsbPolicyVERTICAL_SCROLLBAR_AS_NEEDED,則只有在垂直查看無法完全顯示時,垂直滾動條才顯示。可用的策略設定在 setVerticalScrollBarPolicy(int)setHorizontalScrollBarPolicy(int) 中列出。

參數:
view - 將顯示在滾動窗格視口中的元件
vsbPolicy - 指定垂直滾動條策略的一個整數
hsbPolicy - 指定水平滾動條策略的一個整數
另請參見:
setViewportView(java.awt.Component)

JScrollPane

public JScrollPane(Component view)
創建一個顯示指定元件內容的 JScrollPane,只要元件的內容超過視圖大小就會顯示水平和垂直滾動條。

參數:
view - 將顯示在滾動窗格視口中的元件
另請參見:
setViewportView(java.awt.Component)

JScrollPane

public JScrollPane(int vsbPolicy,
                   int hsbPolicy)
創建一個具有指定滾動條策略的空(無視口的視圖)JScrollPane。可用的策略設定在 setVerticalScrollBarPolicy(int)setHorizontalScrollBarPolicy(int) 中列出。

參數:
vsbPolicy - 指定垂直滾動條策略的一個整數
hsbPolicy - 指定水平滾動條策略的一個整數
另請參見:
setViewportView(java.awt.Component)

JScrollPane

public JScrollPane()
創建一個空的(無視口的視圖)JScrollPane,需要時水平和垂直滾動條都可顯示。

方法詳細資訊

getUI

public ScrollPaneUI getUI()
返回呈現此元件的外觀 (L&F) 物件。

返回:
呈現此元件的 ScrollPaneUI 物件
另請參見:
setUI(javax.swing.plaf.ScrollPaneUI)

setUI

public void setUI(ScrollPaneUI ui)
設置 ScrollPaneUI 物件,它為此元件提供外觀 (L&F)。

參數:
ui - ScrollPaneUI L&F 物件
另請參見:
getUI()

updateUI

public void updateUI()
用一個來自當前預設外觀的 ScrollPaneUI 替換當前的 ScrollPaneUI 物件。在預設的外觀更改時將被調用。

覆寫:
類別 JComponent 中的 updateUI
另請參見:
JComponent.updateUI(), UIManager.getUI(javax.swing.JComponent)

getUIClassID

public String getUIClassID()
返回用於建構呈現此元件時所用 L&F 類別的名稱的後綴。

覆寫:
類別 JComponent 中的 getUIClassID
返回:
字元串 "ScrollPaneUI"
另請參見:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

setLayout

public void setLayout(LayoutManager layout)
設置此 JScrollPane 的佈局管理器。此方法覆寫 java.awt.Container 中的 setLayout,這樣可確保只有屬於 ScrollPaneLayout 的子類別的 LayoutManager 才能在 JScrollPane 中使用。如果 layout 為非 null,將在其上調用 syncWithScrollPane

覆寫:
類別 Container 中的 setLayout
參數:
layout - 指定的佈局管理器
拋出:
ClassCastException - 如果佈局不是 ScrollPaneLayout
另請參見:
Container.getLayout(), Container.setLayout(java.awt.LayoutManager)

isValidateRoot

public boolean isValidateRoot()
覆寫以返回 true,這樣任何在此 JScrollPane 的任何後代上對 revalidate 的調用將使從此 JScrollPane 開始的整個階層樹接受驗證。

覆寫:
類別 JComponent 中的 isValidateRoot
返回:
true
另請參見:
Container.validate(), JComponent.revalidate(), JComponent.isValidateRoot()

getVerticalScrollBarPolicy

public int getVerticalScrollBarPolicy()
返回垂直滾動條策略值。

返回:
verticalScrollBarPolicy 屬性
另請參見:
setVerticalScrollBarPolicy(int)

setVerticalScrollBarPolicy

public void setVerticalScrollBarPolicy(int policy)
確定垂直滾動條何時顯示在滾動窗格上。合法值是:

參數:
policy - 以上列出的三個值之一
拋出:
IllegalArgumentException - 如果 policy 不是以上列出的合法值之一
另請參見:
getVerticalScrollBarPolicy()

getHorizontalScrollBarPolicy

public int getHorizontalScrollBarPolicy()
返回水平滾動條策略值。

返回:
horizontalScrollBarPolicy 屬性
另請參見:
setHorizontalScrollBarPolicy(int)

setHorizontalScrollBarPolicy

public void setHorizontalScrollBarPolicy(int policy)
確定水平滾動條何時顯示在滾動窗格上。選項有:

參數:
policy - 以上列出的三個值之一
拋出:
IllegalArgumentException - 如果 policy 不是以上列出的合法值之一
另請參見:
getHorizontalScrollBarPolicy()

getViewportBorder

public Border getViewportBorder()
返回圍繞該視口的 Border 物件。

返回:
viewportBorder 屬性
另請參見:
setViewportBorder(javax.swing.border.Border)

setViewportBorder

public void setViewportBorder(Border viewportBorder)
圍繞視口添加一個邊界。注意,邊界並不是直接設置在視口上,JViewport 不支持 JComponent 邊界屬性。同樣,設置 JScrollPane 的視口並不影響 viewportBorder 屬性。

此屬性的預設值由外觀實作計算。

參數:
viewportBorder - 要添加的邊界
另請參見:
getViewportBorder(), setViewport(javax.swing.JViewport)

getViewportBorderBounds

public Rectangle getViewportBorderBounds()
返回視口邊界的範圍。

返回:
一個指定該視口邊界的 Rectangle 物件

createHorizontalScrollBar

public JScrollBar createHorizontalScrollBar()
預設返回 JScrollPane.ScrollBar。子類別可以覆寫此方法來強制 ScrollPaneUI 實作使用 JScrollBar 子類別。ScrollPaneUI 實作用它來創建水平滾動條。

返回:
水平方向的 JScrollBar
另請參見:
JScrollBar

getHorizontalScrollBar

public JScrollBar getHorizontalScrollBar()
返回控制視口的水平視圖位置的水平滾動條。

返回:
horizontalScrollBar 屬性
另請參見:
setHorizontalScrollBar(javax.swing.JScrollBar)

setHorizontalScrollBar

public void setHorizontalScrollBar(JScrollBar horizontalScrollBar)
將控制視口水平視圖位置的水平滾動條添加到滾動窗格中。這通常是不必要的,因為 JScrollPane 預設創建水平和垂直滾動條。

參數:
horizontalScrollBar - 要添加的水平滾動條
另請參見:
createHorizontalScrollBar(), getHorizontalScrollBar()

createVerticalScrollBar

public JScrollBar createVerticalScrollBar()
預設返回 JScrollPane.ScrollBar。子類別可以覆寫此方法來強制 ScrollPaneUI 實作使用 JScrollBar 子類別。ScrollPaneUI 實作用它來創建垂直滾動條。

返回:
垂直方向的 JScrollBar
另請參見:
JScrollBar

getVerticalScrollBar

public JScrollBar getVerticalScrollBar()
返回控制視口垂直視圖位置的垂直滾動條。

返回:
verticalScrollBar 屬性
另請參見:
setVerticalScrollBar(javax.swing.JScrollBar)

setVerticalScrollBar

public void setVerticalScrollBar(JScrollBar verticalScrollBar)
將控制視口垂直視圖位置的滾動條添加到滾動窗格中。這通常是不必要的,因為 JScrollPane 預設創建垂直和水平滾動條。

參數:
verticalScrollBar - 要添加的新垂直滾動條
另請參見:
createVerticalScrollBar(), getVerticalScrollBar()

createViewport

protected JViewport createViewport()
預設返回新的 JViewport。在 setViewportViewsetRowHeaderViewsetColumnHeaderView 中使用它來創建視口(需要時)。子類別可覆寫此方法來返回 JViewport 的一個子類別。

返回:
新的 JViewport

getViewport

public JViewport getViewport()
返回當前的 JViewport

返回:
viewport 屬性
另請參見:
setViewport(javax.swing.JViewport)

setViewport

public void setViewport(JViewport viewport)
移除舊視口(如果有);強制新視口的 viewPosition 位於 +x,+y 象限中;將行和列標題(如果有)與新視口同步;最後將滾動條和標題與新視口同步。

在大多數應用程序中,使用 setViewportView 將視口和視圖添加到滾動窗格更為方便。

參數:
viewport - 要使用的新視口;如果視口為 null,將依舊移除舊視口並將新視口設置為 null
另請參見:
createViewport(), getViewport(), setViewportView(java.awt.Component)

setViewportView

public void setViewportView(Component view)
創建一個視口(如果有必要)並設置其視圖。不直接為 JScrollPane 建構子提供視圖的應用程序應使用此方法指定將顯示在滾動窗格中的滾動元件子級。例如:
 JScrollPane scrollpane = new JScrollPane();
 scrollpane.setViewportView(myBigComponentToScroll);
 
應用程序不應將子級直接添加到滾動窗格。

參數:
view - 要添加到視口的元件
另請參見:
setViewport(javax.swing.JViewport), JViewport.setView(java.awt.Component)

getRowHeader

public JViewport getRowHeader()
返回行標題。

返回:
rowHeader 屬性
另請參見:
setRowHeader(javax.swing.JViewport)

setRowHeader

public void setRowHeader(JViewport rowHeader)
移除舊的 rowHeader,如果存在;如果新的 rowHeader 不為 null,將其 viewPosition 的 y 坐標與視口(如果有)同步然後將其添加到滾動窗格。

在大多數應用程序中,使用 setRowHeaderView 將行標題元件及其視口添加到滾動窗格更為方便。

參數:
rowHeader - 要使用的新行標題;如果為 null 將依舊移除舊行標題並將新行標題設置為 null
另請參見:
getRowHeader(), setRowHeaderView(java.awt.Component)

setRowHeaderView

public void setRowHeaderView(Component view)
創建一個行標題視口(如果有必要),設置其視圖然後將此行標題視口添加到滾動窗格。例如:
 JScrollPane scrollpane = new JScrollPane();
 scrollpane.setViewportView(myBigComponentToScroll);
 scrollpane.setRowHeaderView(myBigComponentsRowHeader);
 

參數:
view - 將作為行標題顯示的元件
另請參見:
setRowHeader(javax.swing.JViewport), JViewport.setView(java.awt.Component)

getColumnHeader

public JViewport getColumnHeader()
返回列標題。

返回:
columnHeader 屬性
另請參見:
setColumnHeader(javax.swing.JViewport)

setColumnHeader

public void setColumnHeader(JViewport columnHeader)
移除舊的 columnHeader,如果有的話;如果新的 columnHeader 不為 null,將其 viewPosition 的 x 坐標與視口(如果有)同步然後將其添加到滾動窗格。

在大多數應用程序中,使用 setColumnHeaderView 將列標題元件及其視口添加到滾動窗格更為方便。

另請參見:
getColumnHeader(), setColumnHeaderView(java.awt.Component)

setColumnHeaderView

public void setColumnHeaderView(Component view)
創建一個列標題視口(如果有必要),設置其視圖然後將此列標題視口添加到滾動窗格。例如:
 JScrollPane scrollpane = new JScrollPane();
 scrollpane.setViewportView(myBigComponentToScroll);
 scrollpane.setColumnHeaderView(myBigComponentsColumnHeader);
 

參數:
view - 將作為列標題顯示的元件
另請參見:
setColumnHeader(javax.swing.JViewport), JViewport.setView(java.awt.Component)

getCorner

public Component getCorner(String key)
返回位於指定角的元件。指定角的 key 值為下列之一:

參數:
key - 如上所示的值之一
返回:
給定鍵所標識的角元件(可以為 null);如果該鍵無效,則返回 null
另請參見:
setCorner(java.lang.String, java.awt.Component)

setCorner

public void setCorner(String key,
                      Component corner)
添加一個將顯示在一個滾動窗格角中的子級,如果有空間的話。例如,兩個滾動條的顯示中(在滾動窗格的右邊緣和下邊緣),左下角元件將顯示在兩個滾動條兩頭之間的空間中。key 的合法值有:

儘管 "corner" 不與任何 beans 屬性簽章比對,產生的 PropertyChange 事件還是將此屬性名設置為 corner key。

參數:
key - 標識元件將顯示的角
corner - 下列元件之一:
  • lowerLeft
  • lowerRight
  • upperLeft
  • upperRight
拋出:
IllegalArgumentException - 如果 corner key 無效

setComponentOrientation

public void setComponentOrientation(ComponentOrientation co)
設置由 ComponentOrientation 參數確定的垂直和水平滾動條方向。

覆寫:
類別 Component 中的 setComponentOrientation
參數:
co - 以下值之一:
  • java.awt.ComponentOrientation.LEFT_TO_RIGHT
  • java.awt.ComponentOrientation.RIGHT_TO_LEFT
  • java.awt.ComponentOrientation.UNKNOWN
另請參見:
ComponentOrientation

isWheelScrollingEnabled

public boolean isWheelScrollingEnabled()
指示是否進行滾動以回應鼠標滾輪。預設情況下啟用滾輪滾動。

從以下版本開始:
1.4
另請參見:
setWheelScrollingEnabled(boolean)

setWheelScrollingEnabled

public void setWheelScrollingEnabled(boolean handleWheel)
啟用/禁用對鼠標滾輪滾動的移動回應。預設情況下啟用滾輪滾動。

參數:
handleWheel - 如果為 MouseWheelEvent 自動完成滾動,則為 true;否則為 false
從以下版本開始:
1.4
另請參見:
isWheelScrollingEnabled(), MouseWheelEvent, MouseWheelListener

paramString

protected String paramString()
返回此 JScrollPane 的字元串表示形式。此方法僅在進行除錯的時候使用,對於各個實作,所返回字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為 null

覆寫:
類別 JComponent 中的 paramString
返回:
JScrollPane 的字元串表示形式。

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 JScrollPane 相關聯的 AccessibleContext。對於滾動窗格,AccessibleContext 採用的是 AccessibleJScrollPane 的形式。必要時創建一個新的 AccessibleJScrollPane 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 JComponent 中的 getAccessibleContext
返回:
一個 AccessibleJScrollPane,它充當此 JScrollPane 的 AccessibleContext

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only