java.awt
Class ScrollPanejava.lang.Object | +--java.awt.Component | +--java.awt.Container | +--java.awt.ScrollPane
- All Implemented Interfaces:
- Accessible, ImageObserver, MenuContainer, Serializable
- public class ScrollPane
- extends Container
- implements Accessible
A container class which implements automatic horizontal and/or vertical scrolling for a single child component. The display policy for the scrollbars can be set to:
- as needed: scrollbars created and shown only when needed by scrollpane
- always: scrollbars created and always shown by the scrollpane
- never: scrollbars never created or shown by the scrollpane
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.
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.
- See Also:
- Serialized Form
Nested Class Summary
protected class ScrollPane.AccessibleAWTScrollPane
This class implements accessibility support for the ScrollPane class.
Nested classes inherited from class java.awt.Container
Nested classes inherited from class java.awt.Component Component.BltBufferStrategy, Component.FlipBufferStrategy
Field Summary
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.
Fields inherited from class java.awt.Component BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor Summary
ScrollPane()
Create a new scrollpane container with a scrollbar display policy of "as needed".ScrollPane(int scrollbarDisplayPolicy)
Create a new scrollpane container.
Method Summary
protected void addImpl(Component comp, Object constraints, int index)
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 MouseWheelEventsAccessibleContext 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 g)
Prints the component in this scroll pane.protected void processMouseWheelEvent(MouseWheelEvent e)
Process mouse wheel events that are delivered to this ScrollPane by scrolling an appropriate amount.void setLayout(LayoutManager mgr)
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 p)
Scrolls to the specified position within the child component.void setWheelScrollingEnabled(boolean handleWheel)
Enables/disables scrolling in response to movement of the mouse wheel.