public class ScrollPane extends Containerimplements Accessible
The state of the horizontal and vertical scrollbars is represented by two ScrollPaneAdjustable objects (one for each dimension) which implement the Adjustable interface. The API provides methods to access those objects such that the attributes on the Adjustable object (such as unitIncrement, value, etc.) can be manipulated.
Certain adjustable properties (minimum, maximum, blockIncrement, and visibleAmount) are set internally by the scrollpane in accordance with the geometry of the scrollpane and its child and these should not be set by programs using the scrollpane.
If the scrollbar display policy is defined as "never", then the scrollpane can still be programmatically scrolled using the setScrollPosition() method and the scrollpane will move and clip the child's contents appropriately. This policy is useful if the program needs to create and manage its own adjustable controls.
The placement of the scrollbars is controlled by platform-specific properties set by the user outside of the program.
The initial size of this container is set to 100x100, but can be reset using setSize().
Scrolling with the wheel on a wheel-equipped mouse is enabled by default. This can be disabled using setWheelScrollingEnabled. Wheel scrolling can be customized by setting the block and unit increment of the horizontal and vertical Adjustables. For information on how mouse wheel events are dispatched, see the class description for MouseWheelEvent.
Insets are used to define any space used by scrollbars and any borders created by the scroll pane. getInsets() can be used to get the current value for the insets. If the value of scrollbarsAlwaysVisible is false, then the value of the insets will change dynamically depending on whether the scrollbars are currently visible or not.
| Modifier and Type | Class and Description |
|---|---|
protected class |
ScrollPane
This class implements accessibility support for the
ScrollPane class.
|
Container.AccessibleAWTContainer Component.AccessibleAWTComponent , Component.BaselineResizeBehavior , Component.BltBufferStrategy , Component.FlipBufferStrategy | Modifier and Type | Field and Description |
|---|---|
static int |
SCROLLBARS_ALWAYS
Specifies that horizontal/vertical scrollbars should always be shown regardless of the respective sizes of the scrollpane and child.
|
static int |
SCROLLBARS_AS_NEEDED
Specifies that horizontal/vertical scrollbar should be shown only when the size of the child exceeds the size of the scrollpane in the horizontal/vertical dimension.
|
static int |
SCROLLBARS_NEVER
Specifies that horizontal/vertical scrollbars should never be shown regardless of the respective sizes of the scrollpane and child.
|
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
ScrollPane()
Create a new scrollpane container with a scrollbar display policy of "as needed".
|
ScrollPane(int scrollbarDisplayPolicy)
Create a new scrollpane container.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addImpl(Component
Adds the specified component to this scroll pane container.
|
void |
addNotify()
Creates the scroll pane's peer.
|
void |
doLayout()
Lays out this container by resizing its child to its preferred size.
|
protected boolean |
eventTypeEnabled(int type)
If wheel scrolling is enabled, we return true for MouseWheelEvents
|
AccessibleContext |
getAccessibleContext()
Gets the AccessibleContext associated with this ScrollPane.
|
Adjustable |
getHAdjustable()
Returns the
ScrollPaneAdjustable object which represents the state of the horizontal scrollbar.
|
int |
getHScrollbarHeight()
Returns the height that would be occupied by a horizontal scrollbar, which is independent of whether it is currently displayed by the scroll pane or not.
|
int |
getScrollbarDisplayPolicy()
Returns the display policy for the scrollbars.
|
Point |
getScrollPosition()
Returns the current x,y position within the child which is displayed at the 0,0 location of the scrolled panel's view port.
|
Adjustable |
getVAdjustable()
Returns the
ScrollPaneAdjustable object which represents the state of the vertical scrollbar.
|
Dimension |
getViewportSize()
Returns the current size of the scroll pane's view port.
|
int |
getVScrollbarWidth()
Returns the width that would be occupied by a vertical scrollbar, which is independent of whether it is currently displayed by the scroll pane or not.
|
boolean |
isWheelScrollingEnabled()
Indicates whether or not scrolling will take place in response to the mouse wheel.
|
void |
layout()
Deprecated.
As of JDK version 1.1, replaced by
doLayout().
|
String |
paramString()
Returns a string representing the state of this
ScrollPane.
|
void |
printComponents(Graphics
Prints the component in this scroll pane.
|
protected void |
processMouseWheelEvent(MouseWheelEvent
Process mouse wheel events that are delivered to this
ScrollPane by scrolling an appropriate amount.
|
void |
setLayout(LayoutManager
Sets the layout manager for this container.
|
void |
setScrollPosition(int x, int y)
Scrolls to the specified position within the child component.
|
void |
setScrollPosition(Point
Scrolls to the specified position within the child component.
|
void |
setWheelScrollingEnabled(boolean handleWheel)
Enables/disables scrolling in response to movement of the mouse wheel.
|
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, update, validate, validateTreeaction, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCyclepublic static final int SCROLLBARS_AS_NEEDED
public static final int SCROLLBARS_ALWAYS
public static final int SCROLLBARS_NEVER
public ScrollPane()
throws HeadlessException
HeadlessException - if GraphicsEnvironment.isHeadless() returns true
GraphicsEnvironment.isHeadless()
@ConstructorProperties(value="scrollbarDisplayPolicy") public ScrollPane(int scrollbarDisplayPolicy) throws HeadlessException
scrollbarDisplayPolicy - policy for when scrollbars should be shown
IllegalArgumentException - if the specified scrollbar display policy is invalid
HeadlessException - if GraphicsEnvironment.isHeadless() returns true
GraphicsEnvironment.isHeadless()
protected final void addImpl(Componentcomp, Object constraints, int index)
addImpl in class
Container
comp - the component to be added
constraints - not applicable
index - position of child component (must be <= 0)
Container.add(Component) ,
Container.add(Component, int) ,
Container.add(Component, java.lang.Object) ,
Container.invalidate() ,
LayoutManager,
LayoutManager2
public int getScrollbarDisplayPolicy()
public DimensiongetViewportSize()
public int getHScrollbarHeight()
public int getVScrollbarWidth()
public AdjustablegetVAdjustable()
ScrollPaneAdjustable object which represents the state of the vertical scrollbar. The declared return type of this method is
Adjustable to maintain backward compatibility.
ScrollPaneAdjustable
public AdjustablegetHAdjustable()
ScrollPaneAdjustable object which represents the state of the horizontal scrollbar. The declared return type of this method is
Adjustable to maintain backward compatibility.
ScrollPaneAdjustable
public void setScrollPosition(int x,
int y)
x - the x position to scroll to
y - the y position to scroll to
NullPointerException - if the scrollpane does not contain a child
public void setScrollPosition(Pointp)
p - the Point representing the position to scroll to
NullPointerException - if
p is
null
public PointgetScrollPosition()
NullPointerException - if the scrollpane does not contain a child
public final void setLayout(LayoutManagermgr)
setLayout in class
Container
mgr - the specified layout manager
Container.doLayout() ,
Container.getLayout() ,
Container.invalidate()
public void doLayout()
doLayout in class
Container
Component.validate()
@Deprecated public void layout()
doLayout().
public void printComponents(Graphicsg)
printComponents in class
Container
g - the specified Graphics window
Component.print(java.awt.Graphics) ,
Component.printAll(java.awt.Graphics)
public void addNotify()
addNotify in class
Container
Component.isDisplayable() ,
Container.removeNotify()
public StringparamString()
ScrollPane. 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 be
null.
paramString in class
Container
protected void processMouseWheelEvent(MouseWheelEvente)
ScrollPane by scrolling an appropriate amount.
Note that if the event parameter is null the behavior is unspecified and may result in an exception.
processMouseWheelEvent in class
Component
e - the mouse wheel event
MouseWheelEvent,
MouseWheelListener,
Component.addMouseWheelListener(java.awt.event.MouseWheelListener) ,
Component.enableEvents(long)
protected boolean eventTypeEnabled(int type)
public void setWheelScrollingEnabled(boolean handleWheel)
handleWheel -
true if scrolling should be done automatically for a MouseWheelEvent,
false otherwise.
isWheelScrollingEnabled(),
MouseWheelEvent,
MouseWheelListener
public boolean isWheelScrollingEnabled()
setWheelScrollingEnabled(boolean)
public AccessibleContextgetAccessibleContext()
getAccessibleContext in interface
Accessible
getAccessibleContext in class
Component