JScrollPane (Java SE 15 & JDK 15) (original) (raw)
All Implemented Interfaces:
[ImageObserver](../../java/awt/image/ImageObserver.html "interface in java.awt.image")
, [MenuContainer](../../java/awt/MenuContainer.html "interface in java.awt")
, [Serializable](../../../java.base/java/io/Serializable.html "interface in java.io")
, [Accessible](../accessibility/Accessible.html "interface in javax.accessibility")
, [ScrollPaneConstants](ScrollPaneConstants.html "interface in javax.swing")
@JavaBean(defaultProperty="UI", description="A specialized container that manages a viewport, optional scrollbars and headers") public class JScrollPane extends JComponent implements ScrollPaneConstants, Accessible
Provides a scrollable view of a lightweight component. A JScrollPane
manages a viewport, optional vertical and horizontal scroll bars, and optional row and column heading viewports. You can find task-oriented documentation of JScrollPane
inHow to Use Scroll Panes, a section in The Java Tutorial. Note thatJScrollPane
does not support heavyweight components.
Example:
The JViewport
provides a window, or "viewport" onto a data source -- for example, a text file. That data source is the "scrollable client" (aka data model) displayed by theJViewport
view. A JScrollPane
basically consists of JScrollBar
s, a JViewport
, and the wiring between them, as shown in the diagram at right.
In addition to the scroll bars and viewport, a JScrollPane
can have a column header and a row header. Each of these is aJViewport
object that you specify with setRowHeaderView
, and setColumnHeaderView
. The column header viewport automatically scrolls left and right, tracking the left-right scrolling of the main viewport. (It never scrolls vertically, however.) The row header acts in a similar fashion.
Where two scroll bars meet, the row header meets the column header, or a scroll bar meets one of the headers, both components stop short of the corner, leaving a rectangular space which is, by default, empty. These spaces can potentially exist in any number of the four corners. In the previous diagram, the top right space is present and identified by the label "corner component".
Any number of these empty spaces can be replaced by using thesetCorner
method to add a component to a particular corner. (Note: The same component cannot be added to multiple corners.) This is useful if there's some extra decoration or function you'd like to add to the scroll pane. The size of each corner component is entirely determined by the size of the headers and/or scroll bars that surround it.
A corner component will only be visible if there is an empty space in that corner for it to exist in. For example, consider a component set into the top right corner of a scroll pane with a column header. If the scroll pane's vertical scrollbar is not present, perhaps because the view component hasn't grown large enough to require it, then the corner component will not be shown (since there is no empty space in that corner created by the meeting of the header and vertical scroll bar). Forcing the scroll bar to always be shown, usingsetVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_ALWAYS)
, will ensure that the space for the corner component always exists.
To add a border around the main viewport, you can use setViewportBorder
. (Of course, you can also add a border around the whole scroll pane usingsetBorder
.)
A common operation to want to do is to set the background color that will be used if the main viewport view is smaller than the viewport, or is not opaque. This can be accomplished by setting the background color of the viewport, via scrollPane.getViewport().setBackground()
. The reason for setting the color of the viewport and not the scrollpane is that by default JViewport
is opaque which, among other things, means it will completely fill in its background using its background color. Therefore whenJScrollPane
draws its background the viewport will usually draw over it.
By default JScrollPane
uses ScrollPaneLayout
to handle the layout of its child Components. ScrollPaneLayout
determines the size to make the viewport view in one of two ways:
- If the view implements
Scrollable
a combination ofgetPreferredScrollableViewportSize
,getScrollableTracksViewportWidth
andgetScrollableTracksViewportHeight
is used, otherwise getPreferredSize
is used.
Warning: Swing is not thread safe. For more information see Swing's Threading Policy.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the java.beans
package. Please see XMLEncoder.
Since:
1.2
See Also:
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)
Nested Class Summary
Nested Classes
Modifier and Type | Class | Description |
---|---|---|
protected class | JScrollPane.AccessibleJScrollPane | This class implements accessibility support for theJScrollPane class. |
protected class | JScrollPane.ScrollBar | By default JScrollPane creates scrollbars that are instances of this class. |
Field Summary
Fields
Modifier and Type | Field | Description |
---|---|---|
protected JViewport | columnHeader | The column header child. |
protected JScrollBar | horizontalScrollBar | The scrollpane's horizontal scrollbar child. |
protected int | horizontalScrollBarPolicy | The display policy for the horizontal scrollbar. |
protected Component | lowerLeft | The component to display in the lower left corner. |
protected Component | lowerRight | The component to display in the lower right corner. |
protected JViewport | rowHeader | The row header child. |
protected Component | upperLeft | The component to display in the upper left corner. |
protected Component | upperRight | The component to display in the upper right corner. |
protected JScrollBar | verticalScrollBar | The scrollpane's vertical scrollbar child. |
protected int | verticalScrollBarPolicy | The display policy for the vertical scrollbar. |
protected JViewport | viewport | The scrollpane's viewport child. |
Fields declared in interface javax.swing.ScrollPaneConstants
[COLUMN_HEADER](ScrollPaneConstants.html#COLUMN%5FHEADER), [HORIZONTAL_SCROLLBAR](ScrollPaneConstants.html#HORIZONTAL%5FSCROLLBAR), [HORIZONTAL_SCROLLBAR_ALWAYS](ScrollPaneConstants.html#HORIZONTAL%5FSCROLLBAR%5FALWAYS), [HORIZONTAL_SCROLLBAR_AS_NEEDED](ScrollPaneConstants.html#HORIZONTAL%5FSCROLLBAR%5FAS%5FNEEDED), [HORIZONTAL_SCROLLBAR_NEVER](ScrollPaneConstants.html#HORIZONTAL%5FSCROLLBAR%5FNEVER), [HORIZONTAL_SCROLLBAR_POLICY](ScrollPaneConstants.html#HORIZONTAL%5FSCROLLBAR%5FPOLICY), [LOWER_LEADING_CORNER](ScrollPaneConstants.html#LOWER%5FLEADING%5FCORNER), [LOWER_LEFT_CORNER](ScrollPaneConstants.html#LOWER%5FLEFT%5FCORNER), [LOWER_RIGHT_CORNER](ScrollPaneConstants.html#LOWER%5FRIGHT%5FCORNER), [LOWER_TRAILING_CORNER](ScrollPaneConstants.html#LOWER%5FTRAILING%5FCORNER), [ROW_HEADER](ScrollPaneConstants.html#ROW%5FHEADER), [UPPER_LEADING_CORNER](ScrollPaneConstants.html#UPPER%5FLEADING%5FCORNER), [UPPER_LEFT_CORNER](ScrollPaneConstants.html#UPPER%5FLEFT%5FCORNER), [UPPER_RIGHT_CORNER](ScrollPaneConstants.html#UPPER%5FRIGHT%5FCORNER), [UPPER_TRAILING_CORNER](ScrollPaneConstants.html#UPPER%5FTRAILING%5FCORNER), [VERTICAL_SCROLLBAR](ScrollPaneConstants.html#VERTICAL%5FSCROLLBAR), [VERTICAL_SCROLLBAR_ALWAYS](ScrollPaneConstants.html#VERTICAL%5FSCROLLBAR%5FALWAYS), [VERTICAL_SCROLLBAR_AS_NEEDED](ScrollPaneConstants.html#VERTICAL%5FSCROLLBAR%5FAS%5FNEEDED), [VERTICAL_SCROLLBAR_NEVER](ScrollPaneConstants.html#VERTICAL%5FSCROLLBAR%5FNEVER), [VERTICAL_SCROLLBAR_POLICY](ScrollPaneConstants.html#VERTICAL%5FSCROLLBAR%5FPOLICY), [VIEWPORT](ScrollPaneConstants.html#VIEWPORT)
Constructor Summary
Constructors
Constructor | Description |
---|---|
JScrollPane() | Creates an empty (no viewport view) JScrollPane where both horizontal and vertical scrollbars appear when needed. |
JScrollPane(int vsbPolicy, int hsbPolicy) | Creates an empty (no viewport view) JScrollPane with specified scrollbar policies. |
JScrollPane(Component view) | Creates a JScrollPane that displays the contents of the specified component, where both horizontal and vertical scrollbars appear whenever the component's contents are larger than the view. |
JScrollPane(Component view, int vsbPolicy, int hsbPolicy) | Creates a JScrollPane that displays the view component in a viewport whose view position can be controlled with a pair of scrollbars. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
JScrollBar | createHorizontalScrollBar() | Returns a JScrollPane.ScrollBar by default. |
JScrollBar | createVerticalScrollBar() | Returns a JScrollPane.ScrollBar by default. |
protected JViewport | createViewport() | Returns a new JViewport by default. |
AccessibleContext | getAccessibleContext() | Gets the AccessibleContext associated with this JScrollPane. |
JViewport | getColumnHeader() | Returns the column header. |
Component | getCorner(String key) | Returns the component at the specified corner. |
JScrollBar | getHorizontalScrollBar() | Returns the horizontal scroll bar that controls the viewport's horizontal view position. |
int | getHorizontalScrollBarPolicy() | Returns the horizontal scroll bar policy value. |
JViewport | getRowHeader() | Returns the row header. |
ScrollPaneUI | getUI() | Returns the look and feel (L&F) object that renders this component. |
String | getUIClassID() | Returns the suffix used to construct the name of the L&F class used to render this component. |
JScrollBar | getVerticalScrollBar() | Returns the vertical scroll bar that controls the viewports vertical view position. |
int | getVerticalScrollBarPolicy() | Returns the vertical scroll bar policy value. |
JViewport | getViewport() | Returns the current JViewport. |
Border | getViewportBorder() | Returns the Border object that surrounds the viewport. |
Rectangle | getViewportBorderBounds() | Returns the bounds of the viewport's border. |
boolean | isValidateRoot() | Overridden to return true so that any calls to revalidate on any descendants of this JScrollPane will cause the entire tree beginning with this JScrollPane to be validated. |
boolean | isWheelScrollingEnabled() | Indicates whether or not scrolling will take place in response to the mouse wheel. |
protected String | paramString() | Returns a string representation of this JScrollPane. |
void | setColumnHeader(JViewport columnHeader) | Removes the old columnHeader, if it exists; if the new columnHeader isn't null, syncs the x coordinate of its viewPosition with the viewport (if there is one) and then adds it to the scroll pane. |
void | setColumnHeaderView(Component view) | Creates a column-header viewport if necessary, sets its view, and then adds the column-header viewport to the scrollpane. |
void | setComponentOrientation(ComponentOrientation co) | Sets the orientation for the vertical and horizontal scrollbars as determined by theComponentOrientation argument. |
void | setCorner(String key,Component corner) | Adds a child that will appear in one of the scroll panes corners, if there's room. |
void | setHorizontalScrollBar(JScrollBar horizontalScrollBar) | Adds the scrollbar that controls the viewport's horizontal view position to the scrollpane. |
void | setHorizontalScrollBarPolicy(int policy) | Determines when the horizontal scrollbar appears in the scrollpane. |
void | setLayout(LayoutManager layout) | Sets the layout manager for this JScrollPane. |
void | setRowHeader(JViewport rowHeader) | Removes the old rowHeader, if it exists; if the new rowHeader isn't null, syncs the y coordinate of its viewPosition with the viewport (if there is one) and then adds it to the scroll pane. |
void | setRowHeaderView(Component view) | Creates a row-header viewport if necessary, sets its view and then adds the row-header viewport to the scrollpane. |
void | setUI(ScrollPaneUI ui) | Sets the ScrollPaneUI object that provides the look and feel (L&F) for this component. |
void | setVerticalScrollBar(JScrollBar verticalScrollBar) | Adds the scrollbar that controls the viewports vertical view position to the scrollpane. |
void | setVerticalScrollBarPolicy(int policy) | Determines when the vertical scrollbar appears in the scrollpane. |
void | setViewport(JViewport viewport) | Removes the old viewport (if there is one); forces the viewPosition of the new viewport to be in the +x,+y quadrant; syncs up the row and column headers (if there are any) with the new viewport; and finally syncs the scrollbars and headers with the new viewport. |
void | setViewportBorder(Border viewportBorder) | Adds a border around the viewport. |
void | setViewportView(Component view) | Creates a viewport if necessary and then sets its view. |
void | setWheelScrollingEnabled(boolean handleWheel) | Enables/disables scrolling in response to movement of the mouse wheel. |
void | updateUI() | Replaces the current ScrollPaneUI object with a version from the current default look and feel. |
Methods declared in class javax.swing.JComponent
[addAncestorListener](JComponent.html#addAncestorListener%28javax.swing.event.AncestorListener%29), [addNotify](JComponent.html#addNotify%28%29), [addVetoableChangeListener](JComponent.html#addVetoableChangeListener%28java.beans.VetoableChangeListener%29), [computeVisibleRect](JComponent.html#computeVisibleRect%28java.awt.Rectangle%29), [contains](JComponent.html#contains%28int,int%29), [createToolTip](JComponent.html#createToolTip%28%29), [disable](JComponent.html#disable%28%29), [enable](JComponent.html#enable%28%29), [firePropertyChange](JComponent.html#firePropertyChange%28java.lang.String,boolean,boolean%29), [firePropertyChange](JComponent.html#firePropertyChange%28java.lang.String,int,int%29), [fireVetoableChange](JComponent.html#fireVetoableChange%28java.lang.String,java.lang.Object,java.lang.Object%29), [getActionForKeyStroke](JComponent.html#getActionForKeyStroke%28javax.swing.KeyStroke%29), [getActionMap](JComponent.html#getActionMap%28%29), [getAlignmentX](JComponent.html#getAlignmentX%28%29), [getAlignmentY](JComponent.html#getAlignmentY%28%29), [getAncestorListeners](JComponent.html#getAncestorListeners%28%29), [getAutoscrolls](JComponent.html#getAutoscrolls%28%29), [getBaseline](JComponent.html#getBaseline%28int,int%29), [getBaselineResizeBehavior](JComponent.html#getBaselineResizeBehavior%28%29), [getBorder](JComponent.html#getBorder%28%29), [getBounds](JComponent.html#getBounds%28java.awt.Rectangle%29), [getClientProperty](JComponent.html#getClientProperty%28java.lang.Object%29), [getComponentGraphics](JComponent.html#getComponentGraphics%28java.awt.Graphics%29), [getComponentPopupMenu](JComponent.html#getComponentPopupMenu%28%29), [getConditionForKeyStroke](JComponent.html#getConditionForKeyStroke%28javax.swing.KeyStroke%29), [getDebugGraphicsOptions](JComponent.html#getDebugGraphicsOptions%28%29), [getDefaultLocale](JComponent.html#getDefaultLocale%28%29), [getFontMetrics](JComponent.html#getFontMetrics%28java.awt.Font%29), [getGraphics](JComponent.html#getGraphics%28%29), [getHeight](JComponent.html#getHeight%28%29), [getInheritsPopupMenu](JComponent.html#getInheritsPopupMenu%28%29), [getInputMap](JComponent.html#getInputMap%28%29), [getInputMap](JComponent.html#getInputMap%28int%29), [getInputVerifier](JComponent.html#getInputVerifier%28%29), [getInsets](JComponent.html#getInsets%28%29), [getInsets](JComponent.html#getInsets%28java.awt.Insets%29), [getListeners](JComponent.html#getListeners%28java.lang.Class%29), [getLocation](JComponent.html#getLocation%28java.awt.Point%29), [getMaximumSize](JComponent.html#getMaximumSize%28%29), [getMinimumSize](JComponent.html#getMinimumSize%28%29), [getNextFocusableComponent](JComponent.html#getNextFocusableComponent%28%29), [getPopupLocation](JComponent.html#getPopupLocation%28java.awt.event.MouseEvent%29), [getPreferredSize](JComponent.html#getPreferredSize%28%29), [getRegisteredKeyStrokes](JComponent.html#getRegisteredKeyStrokes%28%29), [getRootPane](JComponent.html#getRootPane%28%29), [getSize](JComponent.html#getSize%28java.awt.Dimension%29), [getToolTipLocation](JComponent.html#getToolTipLocation%28java.awt.event.MouseEvent%29), [getToolTipText](JComponent.html#getToolTipText%28%29), [getToolTipText](JComponent.html#getToolTipText%28java.awt.event.MouseEvent%29), [getTopLevelAncestor](JComponent.html#getTopLevelAncestor%28%29), [getTransferHandler](JComponent.html#getTransferHandler%28%29), [getVerifyInputWhenFocusTarget](JComponent.html#getVerifyInputWhenFocusTarget%28%29), [getVetoableChangeListeners](JComponent.html#getVetoableChangeListeners%28%29), [getVisibleRect](JComponent.html#getVisibleRect%28%29), [getWidth](JComponent.html#getWidth%28%29), [getX](JComponent.html#getX%28%29), [getY](JComponent.html#getY%28%29), [grabFocus](JComponent.html#grabFocus%28%29), [hide](JComponent.html#hide%28%29), [isDoubleBuffered](JComponent.html#isDoubleBuffered%28%29), [isLightweightComponent](JComponent.html#isLightweightComponent%28java.awt.Component%29), [isManagingFocus](JComponent.html#isManagingFocus%28%29), [isOpaque](JComponent.html#isOpaque%28%29), [isOptimizedDrawingEnabled](JComponent.html#isOptimizedDrawingEnabled%28%29), [isPaintingForPrint](JComponent.html#isPaintingForPrint%28%29), [isPaintingOrigin](JComponent.html#isPaintingOrigin%28%29), [isPaintingTile](JComponent.html#isPaintingTile%28%29), [isRequestFocusEnabled](JComponent.html#isRequestFocusEnabled%28%29), [paint](JComponent.html#paint%28java.awt.Graphics%29), [paintBorder](JComponent.html#paintBorder%28java.awt.Graphics%29), [paintChildren](JComponent.html#paintChildren%28java.awt.Graphics%29), [paintComponent](JComponent.html#paintComponent%28java.awt.Graphics%29), [paintImmediately](JComponent.html#paintImmediately%28int,int,int,int%29), [paintImmediately](JComponent.html#paintImmediately%28java.awt.Rectangle%29), [print](JComponent.html#print%28java.awt.Graphics%29), [printAll](JComponent.html#printAll%28java.awt.Graphics%29), [printBorder](JComponent.html#printBorder%28java.awt.Graphics%29), [printChildren](JComponent.html#printChildren%28java.awt.Graphics%29), [printComponent](JComponent.html#printComponent%28java.awt.Graphics%29), [processComponentKeyEvent](JComponent.html#processComponentKeyEvent%28java.awt.event.KeyEvent%29), [processKeyBinding](JComponent.html#processKeyBinding%28javax.swing.KeyStroke,java.awt.event.KeyEvent,int,boolean%29), [processKeyEvent](JComponent.html#processKeyEvent%28java.awt.event.KeyEvent%29), [processMouseEvent](JComponent.html#processMouseEvent%28java.awt.event.MouseEvent%29), [processMouseMotionEvent](JComponent.html#processMouseMotionEvent%28java.awt.event.MouseEvent%29), [putClientProperty](JComponent.html#putClientProperty%28java.lang.Object,java.lang.Object%29), [registerKeyboardAction](JComponent.html#registerKeyboardAction%28java.awt.event.ActionListener,java.lang.String,javax.swing.KeyStroke,int%29), [registerKeyboardAction](JComponent.html#registerKeyboardAction%28java.awt.event.ActionListener,javax.swing.KeyStroke,int%29), [removeAncestorListener](JComponent.html#removeAncestorListener%28javax.swing.event.AncestorListener%29), [removeNotify](JComponent.html#removeNotify%28%29), [removeVetoableChangeListener](JComponent.html#removeVetoableChangeListener%28java.beans.VetoableChangeListener%29), [repaint](JComponent.html#repaint%28long,int,int,int,int%29), [repaint](JComponent.html#repaint%28java.awt.Rectangle%29), [requestDefaultFocus](JComponent.html#requestDefaultFocus%28%29), [requestFocus](JComponent.html#requestFocus%28%29), [requestFocus](JComponent.html#requestFocus%28boolean%29), [requestFocusInWindow](JComponent.html#requestFocusInWindow%28%29), [requestFocusInWindow](JComponent.html#requestFocusInWindow%28boolean%29), [resetKeyboardActions](JComponent.html#resetKeyboardActions%28%29), [reshape](JComponent.html#reshape%28int,int,int,int%29), [revalidate](JComponent.html#revalidate%28%29), [scrollRectToVisible](JComponent.html#scrollRectToVisible%28java.awt.Rectangle%29), [setActionMap](JComponent.html#setActionMap%28javax.swing.ActionMap%29), [setAlignmentX](JComponent.html#setAlignmentX%28float%29), [setAlignmentY](JComponent.html#setAlignmentY%28float%29), [setAutoscrolls](JComponent.html#setAutoscrolls%28boolean%29), [setBackground](JComponent.html#setBackground%28java.awt.Color%29), [setBorder](JComponent.html#setBorder%28javax.swing.border.Border%29), [setComponentPopupMenu](JComponent.html#setComponentPopupMenu%28javax.swing.JPopupMenu%29), [setDebugGraphicsOptions](JComponent.html#setDebugGraphicsOptions%28int%29), [setDefaultLocale](JComponent.html#setDefaultLocale%28java.util.Locale%29), [setDoubleBuffered](JComponent.html#setDoubleBuffered%28boolean%29), [setEnabled](JComponent.html#setEnabled%28boolean%29), [setFocusTraversalKeys](JComponent.html#setFocusTraversalKeys%28int,java.util.Set%29), [setFont](JComponent.html#setFont%28java.awt.Font%29), [setForeground](JComponent.html#setForeground%28java.awt.Color%29), [setInheritsPopupMenu](JComponent.html#setInheritsPopupMenu%28boolean%29), [setInputMap](JComponent.html#setInputMap%28int,javax.swing.InputMap%29), [setInputVerifier](JComponent.html#setInputVerifier%28javax.swing.InputVerifier%29), [setMaximumSize](JComponent.html#setMaximumSize%28java.awt.Dimension%29), [setMinimumSize](JComponent.html#setMinimumSize%28java.awt.Dimension%29), [setNextFocusableComponent](JComponent.html#setNextFocusableComponent%28java.awt.Component%29), [setOpaque](JComponent.html#setOpaque%28boolean%29), [setPreferredSize](JComponent.html#setPreferredSize%28java.awt.Dimension%29), [setRequestFocusEnabled](JComponent.html#setRequestFocusEnabled%28boolean%29), [setToolTipText](JComponent.html#setToolTipText%28java.lang.String%29), [setTransferHandler](JComponent.html#setTransferHandler%28javax.swing.TransferHandler%29), [setUI](JComponent.html#setUI%28javax.swing.plaf.ComponentUI%29), [setVerifyInputWhenFocusTarget](JComponent.html#setVerifyInputWhenFocusTarget%28boolean%29), [setVisible](JComponent.html#setVisible%28boolean%29), [unregisterKeyboardAction](JComponent.html#unregisterKeyboardAction%28javax.swing.KeyStroke%29), [update](JComponent.html#update%28java.awt.Graphics%29)
Methods declared in class java.awt.Container
[add](../../java/awt/Container.html#add%28java.awt.Component%29), [add](../../java/awt/Container.html#add%28java.awt.Component,int%29), [add](../../java/awt/Container.html#add%28java.awt.Component,java.lang.Object%29), [add](../../java/awt/Container.html#add%28java.awt.Component,java.lang.Object,int%29), [add](../../java/awt/Container.html#add%28java.lang.String,java.awt.Component%29), [addContainerListener](../../java/awt/Container.html#addContainerListener%28java.awt.event.ContainerListener%29), [addImpl](../../java/awt/Container.html#addImpl%28java.awt.Component,java.lang.Object,int%29), [addPropertyChangeListener](../../java/awt/Container.html#addPropertyChangeListener%28java.beans.PropertyChangeListener%29), [addPropertyChangeListener](../../java/awt/Container.html#addPropertyChangeListener%28java.lang.String,java.beans.PropertyChangeListener%29), [applyComponentOrientation](../../java/awt/Container.html#applyComponentOrientation%28java.awt.ComponentOrientation%29), [areFocusTraversalKeysSet](../../java/awt/Container.html#areFocusTraversalKeysSet%28int%29), [countComponents](../../java/awt/Container.html#countComponents%28%29), [deliverEvent](../../java/awt/Container.html#deliverEvent%28java.awt.Event%29), [doLayout](../../java/awt/Container.html#doLayout%28%29), [findComponentAt](../../java/awt/Container.html#findComponentAt%28int,int%29), [findComponentAt](../../java/awt/Container.html#findComponentAt%28java.awt.Point%29), [getComponent](../../java/awt/Container.html#getComponent%28int%29), [getComponentAt](../../java/awt/Container.html#getComponentAt%28int,int%29), [getComponentAt](../../java/awt/Container.html#getComponentAt%28java.awt.Point%29), [getComponentCount](../../java/awt/Container.html#getComponentCount%28%29), [getComponents](../../java/awt/Container.html#getComponents%28%29), [getComponentZOrder](../../java/awt/Container.html#getComponentZOrder%28java.awt.Component%29), [getContainerListeners](../../java/awt/Container.html#getContainerListeners%28%29), [getFocusTraversalKeys](../../java/awt/Container.html#getFocusTraversalKeys%28int%29), [getFocusTraversalPolicy](../../java/awt/Container.html#getFocusTraversalPolicy%28%29), [getLayout](../../java/awt/Container.html#getLayout%28%29), [getMousePosition](../../java/awt/Container.html#getMousePosition%28boolean%29), [insets](../../java/awt/Container.html#insets%28%29), [invalidate](../../java/awt/Container.html#invalidate%28%29), [isAncestorOf](../../java/awt/Container.html#isAncestorOf%28java.awt.Component%29), [isFocusCycleRoot](../../java/awt/Container.html#isFocusCycleRoot%28%29), [isFocusCycleRoot](../../java/awt/Container.html#isFocusCycleRoot%28java.awt.Container%29), [isFocusTraversalPolicyProvider](../../java/awt/Container.html#isFocusTraversalPolicyProvider%28%29), [isFocusTraversalPolicySet](../../java/awt/Container.html#isFocusTraversalPolicySet%28%29), [layout](../../java/awt/Container.html#layout%28%29), [list](../../java/awt/Container.html#list%28java.io.PrintStream,int%29), [list](../../java/awt/Container.html#list%28java.io.PrintWriter,int%29), [locate](../../java/awt/Container.html#locate%28int,int%29), [minimumSize](../../java/awt/Container.html#minimumSize%28%29), [paintComponents](../../java/awt/Container.html#paintComponents%28java.awt.Graphics%29), [preferredSize](../../java/awt/Container.html#preferredSize%28%29), [printComponents](../../java/awt/Container.html#printComponents%28java.awt.Graphics%29), [processContainerEvent](../../java/awt/Container.html#processContainerEvent%28java.awt.event.ContainerEvent%29), [processEvent](../../java/awt/Container.html#processEvent%28java.awt.AWTEvent%29), [remove](../../java/awt/Container.html#remove%28int%29), [remove](../../java/awt/Container.html#remove%28java.awt.Component%29), [removeAll](../../java/awt/Container.html#removeAll%28%29), [removeContainerListener](../../java/awt/Container.html#removeContainerListener%28java.awt.event.ContainerListener%29), [setComponentZOrder](../../java/awt/Container.html#setComponentZOrder%28java.awt.Component,int%29), [setFocusCycleRoot](../../java/awt/Container.html#setFocusCycleRoot%28boolean%29), [setFocusTraversalPolicy](../../java/awt/Container.html#setFocusTraversalPolicy%28java.awt.FocusTraversalPolicy%29), [setFocusTraversalPolicyProvider](../../java/awt/Container.html#setFocusTraversalPolicyProvider%28boolean%29), [transferFocusDownCycle](../../java/awt/Container.html#transferFocusDownCycle%28%29), [validate](../../java/awt/Container.html#validate%28%29), [validateTree](../../java/awt/Container.html#validateTree%28%29)
Methods declared in class java.awt.Component
[action](../../java/awt/Component.html#action%28java.awt.Event,java.lang.Object%29), [add](../../java/awt/Component.html#add%28java.awt.PopupMenu%29), [addComponentListener](../../java/awt/Component.html#addComponentListener%28java.awt.event.ComponentListener%29), [addFocusListener](../../java/awt/Component.html#addFocusListener%28java.awt.event.FocusListener%29), [addHierarchyBoundsListener](../../java/awt/Component.html#addHierarchyBoundsListener%28java.awt.event.HierarchyBoundsListener%29), [addHierarchyListener](../../java/awt/Component.html#addHierarchyListener%28java.awt.event.HierarchyListener%29), [addInputMethodListener](../../java/awt/Component.html#addInputMethodListener%28java.awt.event.InputMethodListener%29), [addKeyListener](../../java/awt/Component.html#addKeyListener%28java.awt.event.KeyListener%29), [addMouseListener](../../java/awt/Component.html#addMouseListener%28java.awt.event.MouseListener%29), [addMouseMotionListener](../../java/awt/Component.html#addMouseMotionListener%28java.awt.event.MouseMotionListener%29), [addMouseWheelListener](../../java/awt/Component.html#addMouseWheelListener%28java.awt.event.MouseWheelListener%29), [bounds](../../java/awt/Component.html#bounds%28%29), [checkImage](../../java/awt/Component.html#checkImage%28java.awt.Image,int,int,java.awt.image.ImageObserver%29), [checkImage](../../java/awt/Component.html#checkImage%28java.awt.Image,java.awt.image.ImageObserver%29), [coalesceEvents](../../java/awt/Component.html#coalesceEvents%28java.awt.AWTEvent,java.awt.AWTEvent%29), [contains](../../java/awt/Component.html#contains%28java.awt.Point%29), [createImage](../../java/awt/Component.html#createImage%28int,int%29), [createImage](../../java/awt/Component.html#createImage%28java.awt.image.ImageProducer%29), [createVolatileImage](../../java/awt/Component.html#createVolatileImage%28int,int%29), [createVolatileImage](../../java/awt/Component.html#createVolatileImage%28int,int,java.awt.ImageCapabilities%29), [disableEvents](../../java/awt/Component.html#disableEvents%28long%29), [dispatchEvent](../../java/awt/Component.html#dispatchEvent%28java.awt.AWTEvent%29), [enable](../../java/awt/Component.html#enable%28boolean%29), [enableEvents](../../java/awt/Component.html#enableEvents%28long%29), [enableInputMethods](../../java/awt/Component.html#enableInputMethods%28boolean%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String,byte,byte%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String,char,char%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String,double,double%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String,float,float%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String,long,long%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String,short,short%29), [firePropertyChange](../../java/awt/Component.html#firePropertyChange%28java.lang.String,java.lang.Object,java.lang.Object%29), [getBackground](../../java/awt/Component.html#getBackground%28%29), [getBounds](../../java/awt/Component.html#getBounds%28%29), [getColorModel](../../java/awt/Component.html#getColorModel%28%29), [getComponentListeners](../../java/awt/Component.html#getComponentListeners%28%29), [getComponentOrientation](../../java/awt/Component.html#getComponentOrientation%28%29), [getCursor](../../java/awt/Component.html#getCursor%28%29), [getDropTarget](../../java/awt/Component.html#getDropTarget%28%29), [getFocusCycleRootAncestor](../../java/awt/Component.html#getFocusCycleRootAncestor%28%29), [getFocusListeners](../../java/awt/Component.html#getFocusListeners%28%29), [getFocusTraversalKeysEnabled](../../java/awt/Component.html#getFocusTraversalKeysEnabled%28%29), [getFont](../../java/awt/Component.html#getFont%28%29), [getForeground](../../java/awt/Component.html#getForeground%28%29), [getGraphicsConfiguration](../../java/awt/Component.html#getGraphicsConfiguration%28%29), [getHierarchyBoundsListeners](../../java/awt/Component.html#getHierarchyBoundsListeners%28%29), [getHierarchyListeners](../../java/awt/Component.html#getHierarchyListeners%28%29), [getIgnoreRepaint](../../java/awt/Component.html#getIgnoreRepaint%28%29), [getInputContext](../../java/awt/Component.html#getInputContext%28%29), [getInputMethodListeners](../../java/awt/Component.html#getInputMethodListeners%28%29), [getInputMethodRequests](../../java/awt/Component.html#getInputMethodRequests%28%29), [getKeyListeners](../../java/awt/Component.html#getKeyListeners%28%29), [getLocale](../../java/awt/Component.html#getLocale%28%29), [getLocation](../../java/awt/Component.html#getLocation%28%29), [getLocationOnScreen](../../java/awt/Component.html#getLocationOnScreen%28%29), [getMouseListeners](../../java/awt/Component.html#getMouseListeners%28%29), [getMouseMotionListeners](../../java/awt/Component.html#getMouseMotionListeners%28%29), [getMousePosition](../../java/awt/Component.html#getMousePosition%28%29), [getMouseWheelListeners](../../java/awt/Component.html#getMouseWheelListeners%28%29), [getName](../../java/awt/Component.html#getName%28%29), [getParent](../../java/awt/Component.html#getParent%28%29), [getPropertyChangeListeners](../../java/awt/Component.html#getPropertyChangeListeners%28%29), [getPropertyChangeListeners](../../java/awt/Component.html#getPropertyChangeListeners%28java.lang.String%29), [getSize](../../java/awt/Component.html#getSize%28%29), [getToolkit](../../java/awt/Component.html#getToolkit%28%29), [getTreeLock](../../java/awt/Component.html#getTreeLock%28%29), [gotFocus](../../java/awt/Component.html#gotFocus%28java.awt.Event,java.lang.Object%29), [handleEvent](../../java/awt/Component.html#handleEvent%28java.awt.Event%29), [hasFocus](../../java/awt/Component.html#hasFocus%28%29), [imageUpdate](../../java/awt/Component.html#imageUpdate%28java.awt.Image,int,int,int,int,int%29), [inside](../../java/awt/Component.html#inside%28int,int%29), [isBackgroundSet](../../java/awt/Component.html#isBackgroundSet%28%29), [isCursorSet](../../java/awt/Component.html#isCursorSet%28%29), [isDisplayable](../../java/awt/Component.html#isDisplayable%28%29), [isEnabled](../../java/awt/Component.html#isEnabled%28%29), [isFocusable](../../java/awt/Component.html#isFocusable%28%29), [isFocusOwner](../../java/awt/Component.html#isFocusOwner%28%29), [isFocusTraversable](../../java/awt/Component.html#isFocusTraversable%28%29), [isFontSet](../../java/awt/Component.html#isFontSet%28%29), [isForegroundSet](../../java/awt/Component.html#isForegroundSet%28%29), [isLightweight](../../java/awt/Component.html#isLightweight%28%29), [isMaximumSizeSet](../../java/awt/Component.html#isMaximumSizeSet%28%29), [isMinimumSizeSet](../../java/awt/Component.html#isMinimumSizeSet%28%29), [isPreferredSizeSet](../../java/awt/Component.html#isPreferredSizeSet%28%29), [isShowing](../../java/awt/Component.html#isShowing%28%29), [isValid](../../java/awt/Component.html#isValid%28%29), [isVisible](../../java/awt/Component.html#isVisible%28%29), [keyDown](../../java/awt/Component.html#keyDown%28java.awt.Event,int%29), [keyUp](../../java/awt/Component.html#keyUp%28java.awt.Event,int%29), [list](../../java/awt/Component.html#list%28%29), [list](../../java/awt/Component.html#list%28java.io.PrintStream%29), [list](../../java/awt/Component.html#list%28java.io.PrintWriter%29), [location](../../java/awt/Component.html#location%28%29), [lostFocus](../../java/awt/Component.html#lostFocus%28java.awt.Event,java.lang.Object%29), [mouseDown](../../java/awt/Component.html#mouseDown%28java.awt.Event,int,int%29), [mouseDrag](../../java/awt/Component.html#mouseDrag%28java.awt.Event,int,int%29), [mouseEnter](../../java/awt/Component.html#mouseEnter%28java.awt.Event,int,int%29), [mouseExit](../../java/awt/Component.html#mouseExit%28java.awt.Event,int,int%29), [mouseMove](../../java/awt/Component.html#mouseMove%28java.awt.Event,int,int%29), [mouseUp](../../java/awt/Component.html#mouseUp%28java.awt.Event,int,int%29), [move](../../java/awt/Component.html#move%28int,int%29), [nextFocus](../../java/awt/Component.html#nextFocus%28%29), [paintAll](../../java/awt/Component.html#paintAll%28java.awt.Graphics%29), [postEvent](../../java/awt/Component.html#postEvent%28java.awt.Event%29), [prepareImage](../../java/awt/Component.html#prepareImage%28java.awt.Image,int,int,java.awt.image.ImageObserver%29), [prepareImage](../../java/awt/Component.html#prepareImage%28java.awt.Image,java.awt.image.ImageObserver%29), [processComponentEvent](../../java/awt/Component.html#processComponentEvent%28java.awt.event.ComponentEvent%29), [processFocusEvent](../../java/awt/Component.html#processFocusEvent%28java.awt.event.FocusEvent%29), [processHierarchyBoundsEvent](../../java/awt/Component.html#processHierarchyBoundsEvent%28java.awt.event.HierarchyEvent%29), [processHierarchyEvent](../../java/awt/Component.html#processHierarchyEvent%28java.awt.event.HierarchyEvent%29), [processInputMethodEvent](../../java/awt/Component.html#processInputMethodEvent%28java.awt.event.InputMethodEvent%29), [processMouseWheelEvent](../../java/awt/Component.html#processMouseWheelEvent%28java.awt.event.MouseWheelEvent%29), [remove](../../java/awt/Component.html#remove%28java.awt.MenuComponent%29), [removeComponentListener](../../java/awt/Component.html#removeComponentListener%28java.awt.event.ComponentListener%29), [removeFocusListener](../../java/awt/Component.html#removeFocusListener%28java.awt.event.FocusListener%29), [removeHierarchyBoundsListener](../../java/awt/Component.html#removeHierarchyBoundsListener%28java.awt.event.HierarchyBoundsListener%29), [removeHierarchyListener](../../java/awt/Component.html#removeHierarchyListener%28java.awt.event.HierarchyListener%29), [removeInputMethodListener](../../java/awt/Component.html#removeInputMethodListener%28java.awt.event.InputMethodListener%29), [removeKeyListener](../../java/awt/Component.html#removeKeyListener%28java.awt.event.KeyListener%29), [removeMouseListener](../../java/awt/Component.html#removeMouseListener%28java.awt.event.MouseListener%29), [removeMouseMotionListener](../../java/awt/Component.html#removeMouseMotionListener%28java.awt.event.MouseMotionListener%29), [removeMouseWheelListener](../../java/awt/Component.html#removeMouseWheelListener%28java.awt.event.MouseWheelListener%29), [removePropertyChangeListener](../../java/awt/Component.html#removePropertyChangeListener%28java.beans.PropertyChangeListener%29), [removePropertyChangeListener](../../java/awt/Component.html#removePropertyChangeListener%28java.lang.String,java.beans.PropertyChangeListener%29), [repaint](../../java/awt/Component.html#repaint%28%29), [repaint](../../java/awt/Component.html#repaint%28int,int,int,int%29), [repaint](../../java/awt/Component.html#repaint%28long%29), [requestFocus](../../java/awt/Component.html#requestFocus%28boolean,java.awt.event.FocusEvent.Cause%29), [requestFocus](../../java/awt/Component.html#requestFocus%28java.awt.event.FocusEvent.Cause%29), [requestFocusInWindow](../../java/awt/Component.html#requestFocusInWindow%28java.awt.event.FocusEvent.Cause%29), [resize](../../java/awt/Component.html#resize%28int,int%29), [resize](../../java/awt/Component.html#resize%28java.awt.Dimension%29), [setBounds](../../java/awt/Component.html#setBounds%28int,int,int,int%29), [setBounds](../../java/awt/Component.html#setBounds%28java.awt.Rectangle%29), [setCursor](../../java/awt/Component.html#setCursor%28java.awt.Cursor%29), [setDropTarget](../../java/awt/Component.html#setDropTarget%28java.awt.dnd.DropTarget%29), [setFocusable](../../java/awt/Component.html#setFocusable%28boolean%29), [setFocusTraversalKeysEnabled](../../java/awt/Component.html#setFocusTraversalKeysEnabled%28boolean%29), [setIgnoreRepaint](../../java/awt/Component.html#setIgnoreRepaint%28boolean%29), [setLocale](../../java/awt/Component.html#setLocale%28java.util.Locale%29), [setLocation](../../java/awt/Component.html#setLocation%28int,int%29), [setLocation](../../java/awt/Component.html#setLocation%28java.awt.Point%29), [setMixingCutoutShape](../../java/awt/Component.html#setMixingCutoutShape%28java.awt.Shape%29), [setName](../../java/awt/Component.html#setName%28java.lang.String%29), [setSize](../../java/awt/Component.html#setSize%28int,int%29), [setSize](../../java/awt/Component.html#setSize%28java.awt.Dimension%29), [show](../../java/awt/Component.html#show%28%29), [show](../../java/awt/Component.html#show%28boolean%29), [size](../../java/awt/Component.html#size%28%29), [toString](../../java/awt/Component.html#toString%28%29), [transferFocus](../../java/awt/Component.html#transferFocus%28%29), [transferFocusBackward](../../java/awt/Component.html#transferFocusBackward%28%29), [transferFocusUpCycle](../../java/awt/Component.html#transferFocusUpCycle%28%29)
Field Details
verticalScrollBarPolicy
protected int verticalScrollBarPolicy
The display policy for the vertical scrollbar. The default isScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
.
See Also:
setVerticalScrollBarPolicy(int)horizontalScrollBarPolicy
protected int horizontalScrollBarPolicy
The display policy for the horizontal scrollbar. The default isScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
.
See Also:
setHorizontalScrollBarPolicy(int)viewport
The scrollpane's viewport child. Default is an empty
JViewport
.
See Also:
setViewport(javax.swing.JViewport)verticalScrollBar
The scrollpane's vertical scrollbar child. Default is a
JScrollBar
.
See Also:
setVerticalScrollBar(javax.swing.JScrollBar)horizontalScrollBar
The scrollpane's horizontal scrollbar child. Default is a
JScrollBar
.
See Also:
setHorizontalScrollBar(javax.swing.JScrollBar)columnHeader
The column header child. Default is
null
.
See Also:
setColumnHeader(javax.swing.JViewport)lowerLeft
The component to display in the lower left corner. Default is
null
.
See Also:
setCorner(java.lang.String, java.awt.Component)lowerRight
The component to display in the lower right corner. Default is
null
.
See Also:
setCorner(java.lang.String, java.awt.Component)upperLeft
The component to display in the upper left corner. Default is
null
.
See Also:
setCorner(java.lang.String, java.awt.Component)upperRight
The component to display in the upper right corner. Default is
null
.
See Also:
setCorner(java.lang.String, java.awt.Component)Constructor Details
JScrollPane
public JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
Creates aJScrollPane
that displays the view component in a viewport whose view position can be controlled with a pair of scrollbars. The scrollbar policies specify when the scrollbars are displayed, For example, ifvsbPolicy
isVERTICAL_SCROLLBAR_AS_NEEDED
then the vertical scrollbar only appears if the view doesn't fit vertically. The available policy settings are listed atsetVerticalScrollBarPolicy(int) andsetHorizontalScrollBarPolicy(int).
Parameters:
view
- the component to display in the scrollpanes viewport
vsbPolicy
- an integer that specifies the vertical scrollbar policy
hsbPolicy
- an integer that specifies the horizontal scrollbar policy
See Also:
setViewportView(java.awt.Component)JScrollPane
Creates a
JScrollPane
that displays the contents of the specified component, where both horizontal and vertical scrollbars appear whenever the component's contents are larger than the view.
Parameters:
view
- the component to display in the scrollpane's viewport
See Also:
setViewportView(java.awt.Component)JScrollPane
public JScrollPane(int vsbPolicy, int hsbPolicy)
Creates an empty (no viewport view)JScrollPane
with specified scrollbar policies. The available policy settings are listed atsetVerticalScrollBarPolicy(int) andsetHorizontalScrollBarPolicy(int).
Parameters:
vsbPolicy
- an integer that specifies the vertical scrollbar policy
hsbPolicy
- an integer that specifies the horizontal scrollbar policy
See Also:
setViewportView(java.awt.Component)JScrollPane
public JScrollPane()
Creates an empty (no viewport view)JScrollPane
where both horizontal and vertical scrollbars appear when needed.Method Details
getUI
Returns the look and feel (L&F) object that renders this component.
Overrides:
[getUI](JComponent.html#getUI%28%29)
in class[JComponent](JComponent.html "class in javax.swing")
Returns:
theScrollPaneUI
object that renders this component
See Also:
setUI(javax.swing.plaf.ScrollPaneUI)setUI
Sets the
ScrollPaneUI
object that provides the look and feel (L&F) for this component.
Parameters:
ui
- theScrollPaneUI
L&F object
See Also:
getUI()updateUI
public void updateUI()
Replaces the currentScrollPaneUI
object with a version from the current default look and feel. To be called when the default look and feel changes.
Overrides:
[updateUI](JComponent.html#updateUI%28%29)
in class[JComponent](JComponent.html "class in javax.swing")
See Also:
JComponent.updateUI(), UIManager.getUI(javax.swing.JComponent)getUIClassID
Returns the suffix used to construct the name of the L&F class used to render this component.
Overrides:
[getUIClassID](JComponent.html#getUIClassID%28%29)
in class[JComponent](JComponent.html "class in javax.swing")
Returns:
the string "ScrollPaneUI"
See Also:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)setLayout
Sets the layout manager for this
JScrollPane
. This method overridessetLayout
injava.awt.Container
to ensure that onlyLayoutManager
s which are subclasses ofScrollPaneLayout
can be used in aJScrollPane
. Iflayout
is non-null, this will invokesyncWithScrollPane
on it.
Overrides:
[setLayout](../../java/awt/Container.html#setLayout%28java.awt.LayoutManager%29)
in class[Container](../../java/awt/Container.html "class in java.awt")
Parameters:
layout
- the specified layout manager
Throws:
[ClassCastException](../../../java.base/java/lang/ClassCastException.html "class in java.lang")
- if layout is not aScrollPaneLayout
See Also:
Container.getLayout(), Container.setLayout(java.awt.LayoutManager)isValidateRoot
Overridden to return true so that any calls to
revalidate
on any descendants of thisJScrollPane
will cause the entire tree beginning with thisJScrollPane
to be validated.
Overrides:
[isValidateRoot](JComponent.html#isValidateRoot%28%29)
in class[JComponent](JComponent.html "class in javax.swing")
Returns:
true
See Also:
Container.validate(), JComponent.revalidate(), JComponent.isValidateRoot(), Container.isValidateRoot()getVerticalScrollBarPolicy
public int getVerticalScrollBarPolicy()
Returns the vertical scroll bar policy value.
Returns:
theverticalScrollBarPolicy
property
See Also:
setVerticalScrollBarPolicy(int)setVerticalScrollBarPolicy
@BeanProperty(preferred=true,enumerationValues={"ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED","ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER","ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS"},description="The scrollpane vertical scrollbar policy")public void setVerticalScrollBarPolicy(int policy)
Determines when the vertical scrollbar appears in the scrollpane. Legal values are:
*ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
*ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
*ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS
Parameters:
policy
- one of the three values listed above
Throws:
[IllegalArgumentException](../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")
- ifpolicy
is not one of the legal values shown above
See Also:
getVerticalScrollBarPolicy()getHorizontalScrollBarPolicy
public int getHorizontalScrollBarPolicy()
Returns the horizontal scroll bar policy value.
Returns:
thehorizontalScrollBarPolicy
property
See Also:
setHorizontalScrollBarPolicy(int)setHorizontalScrollBarPolicy
@BeanProperty(preferred=true,enumerationValues={"ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED","ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER","ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS"},description="The scrollpane scrollbar policy")public void setHorizontalScrollBarPolicy(int policy)
Determines when the horizontal scrollbar appears in the scrollpane. The options are:
*ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
*ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
*ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
Parameters:
policy
- one of the three values listed above
Throws:
[IllegalArgumentException](../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")
- ifpolicy
is not one of the legal values shown above
See Also:
getHorizontalScrollBarPolicy()getViewportBorder
public Border getViewportBorder()
Returns theBorder
object that surrounds the viewport.
Returns:
theviewportBorder
property
See Also:
setViewportBorder(javax.swing.border.Border)setViewportBorder
Adds a border around the viewport. Note that the border isn't set on the viewport directly,
JViewport
doesn't support theJComponent
border property. Similarly setting theJScrollPane
s viewport doesn't affect theviewportBorder
property.
The default value of this property is computed by the look and feel implementation.
Parameters:
viewportBorder
- the border to be added
See Also:
getViewportBorder(), setViewport(javax.swing.JViewport)getViewportBorderBounds
Returns the bounds of the viewport's border.
Returns:
aRectangle
object specifying the viewport bordercreateHorizontalScrollBar
public JScrollBar createHorizontalScrollBar()
Returns aJScrollPane.ScrollBar
by default. Subclasses may override this method to forceScrollPaneUI
implementations to use aJScrollBar
subclass. Used byScrollPaneUI
implementations to create the horizontal scrollbar.
Returns:
aJScrollBar
with a horizontal orientation
See Also:
JScrollBargetHorizontalScrollBar
public JScrollBar getHorizontalScrollBar()
Returns the horizontal scroll bar that controls the viewport's horizontal view position.
Returns:
thehorizontalScrollBar
property
See Also:
setHorizontalScrollBar(javax.swing.JScrollBar)setHorizontalScrollBar
Adds the scrollbar that controls the viewport's horizontal view position to the scrollpane. This is usually unnecessary, as
JScrollPane
creates horizontal and vertical scrollbars by default.
Parameters:
horizontalScrollBar
- the horizontal scrollbar to be added
See Also:
createHorizontalScrollBar(), getHorizontalScrollBar()createVerticalScrollBar
public JScrollBar createVerticalScrollBar()
Returns aJScrollPane.ScrollBar
by default. Subclasses may override this method to forceScrollPaneUI
implementations to use aJScrollBar
subclass. Used byScrollPaneUI
implementations to create the vertical scrollbar.
Returns:
aJScrollBar
with a vertical orientation
See Also:
JScrollBargetVerticalScrollBar
Returns the vertical scroll bar that controls the viewports vertical view position.
Returns:
theverticalScrollBar
property
See Also:
setVerticalScrollBar(javax.swing.JScrollBar)setVerticalScrollBar
Adds the scrollbar that controls the viewports vertical view position to the scrollpane. This is usually unnecessary, as
JScrollPane
creates vertical and horizontal scrollbars by default.
Parameters:
verticalScrollBar
- the new vertical scrollbar to be added
See Also:
createVerticalScrollBar(), getVerticalScrollBar()createViewport
Returns a new
JViewport
by default. Used to create the viewport (as needed) insetViewportView
,setRowHeaderView
, andsetColumnHeaderView
. Subclasses may override this method to return a subclass ofJViewport
.
Returns:
a newJViewport
getViewport
Returns the current
JViewport
.
Returns:
theviewport
property
See Also:
setViewport(javax.swing.JViewport)setViewport
Removes the old viewport (if there is one); forces the viewPosition of the new viewport to be in the +x,+y quadrant; syncs up the row and column headers (if there are any) with the new viewport; and finally syncs the scrollbars and headers with the new viewport.
Most applications will find it more convenient to usesetViewportView
to add a viewport and a view to the scrollpane.
Parameters:
viewport
- the new viewport to be used; if viewport isnull
, the old viewport is still removed and the new viewport is set tonull
See Also:
createViewport(), getViewport(), setViewportView(java.awt.Component)setViewportView
public void setViewportView(Component view)
Creates a viewport if necessary and then sets its view. Applications that don't provide the view directly to theJScrollPane
constructor should use this method to specify the scrollable child that's going to be displayed in the scrollpane. For example:
JScrollPane scrollpane = new JScrollPane();
scrollpane.setViewportView(myBigComponentToScroll);Applications should not add children directly to the scrollpane.
Parameters:
view
- the component to add to the viewport
See Also:
setViewport(javax.swing.JViewport), JViewport.setView(java.awt.Component)getColumnHeader
Returns the column header.
Returns:
thecolumnHeader
property
See Also:
setColumnHeader(javax.swing.JViewport)setColumnHeader
Removes the old columnHeader, if it exists; if the new columnHeader isn't
null
, syncs the x coordinate of its viewPosition with the viewport (if there is one) and then adds it to the scroll pane.
Most applications will find it more convenient to usesetColumnHeaderView
to add a column header component and its viewport to the scroll pane.
Parameters:
columnHeader
- aJViewport
which is the new column header
See Also:
getColumnHeader(), setColumnHeaderView(java.awt.Component)setColumnHeaderView
public void setColumnHeaderView(Component view)
Creates a column-header viewport if necessary, sets its view, and then adds the column-header viewport to the scrollpane. For example:
JScrollPane scrollpane = new JScrollPane();
scrollpane.setViewportView(myBigComponentToScroll);
scrollpane.setColumnHeaderView(myBigComponentsColumnHeader);Parameters:
view
- the component to display as the column header
See Also:
setColumnHeader(javax.swing.JViewport), JViewport.setView(java.awt.Component)getCorner
Returns the component at the specified corner. The
key
value specifying the corner is one of:
* ScrollPaneConstants.LOWER_LEFT_CORNER
* ScrollPaneConstants.LOWER_RIGHT_CORNER
* ScrollPaneConstants.UPPER_LEFT_CORNER
* ScrollPaneConstants.UPPER_RIGHT_CORNER
* ScrollPaneConstants.LOWER_LEADING_CORNER
* ScrollPaneConstants.LOWER_TRAILING_CORNER
* ScrollPaneConstants.UPPER_LEADING_CORNER
* ScrollPaneConstants.UPPER_TRAILING_CORNER
Parameters:
key
- one of the values as shown above
Returns:
the corner component (which may benull
) identified by the given key, ornull
if the key is invalid
See Also:
setCorner(java.lang.String, java.awt.Component)setCorner
Adds a child that will appear in one of the scroll panes corners, if there's room. For example with both scrollbars showing (on the right and bottom edges of the scrollpane) the lower left corner component will be shown in the space between ends of the two scrollbars. Legal values for the key are:
* ScrollPaneConstants.LOWER_LEFT_CORNER
* ScrollPaneConstants.LOWER_RIGHT_CORNER
* ScrollPaneConstants.UPPER_LEFT_CORNER
* ScrollPaneConstants.UPPER_RIGHT_CORNER
* ScrollPaneConstants.LOWER_LEADING_CORNER
* ScrollPaneConstants.LOWER_TRAILING_CORNER
* ScrollPaneConstants.UPPER_LEADING_CORNER
* ScrollPaneConstants.UPPER_TRAILING_CORNER
Although "corner" doesn't match any beans property signature,PropertyChange
events are generated with the property name set to the corner key.
Parameters:
key
- identifies which corner the component will appear in
corner
- one of the following components:
* lowerLeft
* lowerRight
* upperLeft
* upperRight
Throws:
[IllegalArgumentException](../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")
- if corner key is invalidsetComponentOrientation
Sets the orientation for the vertical and horizontal scrollbars as determined by the
ComponentOrientation
argument.
Overrides:
[setComponentOrientation](../../java/awt/Component.html#setComponentOrientation%28java.awt.ComponentOrientation%29)
in class[Component](../../java/awt/Component.html "class in java.awt")
Parameters:
co
- one of the following values:
* java.awt.ComponentOrientation.LEFT_TO_RIGHT
* java.awt.ComponentOrientation.RIGHT_TO_LEFT
* java.awt.ComponentOrientation.UNKNOWN
See Also:
ComponentOrientationisWheelScrollingEnabled
@BeanProperty(description="Flag for enabling/disabling mouse wheel scrolling")public boolean isWheelScrollingEnabled()
Indicates whether or not scrolling will take place in response to the mouse wheel. Wheel scrolling is enabled by default.
Returns:
true if mouse wheel scrolling is enabled, false otherwise
Since:
1.4
See Also:
setWheelScrollingEnabled(boolean)setWheelScrollingEnabled
@BeanProperty(description="Flag for enabling/disabling mouse wheel scrolling")public void setWheelScrollingEnabled(boolean handleWheel)
Enables/disables scrolling in response to movement of the mouse wheel. Wheel scrolling is enabled by default.
Parameters:
handleWheel
-true
if scrolling should be done automatically for a MouseWheelEvent,false
otherwise.
Since:
1.4
See Also:
isWheelScrollingEnabled(), MouseWheelEvent, MouseWheelListenerparamString
protected String paramString()
Returns a string representation of thisJScrollPane
. This method is intended to be used only for debugging purposes, and the content and format of the returned string may vary between implementations. The returned string may be empty but may not benull
.
Overrides:
[paramString](JComponent.html#paramString%28%29)
in class[JComponent](JComponent.html "class in javax.swing")
Returns:
a string representation of thisJScrollPane
.getAccessibleContext
Gets the AccessibleContext associated with this JScrollPane. For scroll panes, the AccessibleContext takes the form of an AccessibleJScrollPane. A new AccessibleJScrollPane instance is created if necessary.
Specified by:
[getAccessibleContext](../accessibility/Accessible.html#getAccessibleContext%28%29)
in interface[Accessible](../accessibility/Accessible.html "interface in javax.accessibility")
Overrides:
[getAccessibleContext](../../java/awt/Component.html#getAccessibleContext%28%29)
in class[Component](../../java/awt/Component.html "class in java.awt")
Returns:
an AccessibleJScrollPane that serves as the AccessibleContext of this JScrollPane