java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.plaf.basic.BasicSplitPaneDivider
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
Divider used by BasicSplitPaneUI. Subclassers may wish to override
paint to do something more interesting.
The border effect is drawn in BasicSplitPaneUI, so if you don't like
that border, reset it there.
To conditionally drag from certain areas subclass mousePressed and
call super when you wish the dragging to begin.
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
.
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
Used to layout aBasicSplitPaneDivider
.protected class
Handles the events during a dragging session for a HORIZONTAL_SPLIT oriented split pane.protected class
MouseHandler is responsible for converting mouse events (released, dragged...) into the appropriate DragController methods.protected class
Handles the events during a dragging session for a VERTICAL_SPLIT oriented split pane.Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionprotected int
Size of the divider.protected BasicSplitPaneDivider.DragController
Handles mouse dragging message to do the actual dragging.protected Component
Divider that is used for noncontinuous layout mode.protected JButton
Button for quickly toggling the left component.protected BasicSplitPaneDivider.MouseHandler
Handles mouse events from both this class, and the split pane.protected static final int
The offset of the divider.protected static final int
Width or height of the divider based on orientationBasicSplitPaneUI
adds two to this.protected int
Orientation of the JSplitPane.protected JButton
Button for quickly toggling the right component.protected JSplitPane
JSplitPane the receiver is contained in.protected BasicSplitPaneUI
UI this instance was created from.Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionCreates an instance ofBasicSplitPaneDivider
. -
Method Summary
Modifier and TypeMethodDescriptionprotected JButton
Creates and return an instance ofJButton
that can be used to collapse the left component in the split pane.protected JButton
Creates and return an instance ofJButton
that can be used to collapse the right component in the split pane.protected void
dragDividerTo
(int location) Messages the BasicSplitPaneUI with dragDividerTo that this instance is contained in.protected void
finishDraggingTo
(int location) Messages the BasicSplitPaneUI with finishDraggingTo that this instance is contained in.Returns theSplitPaneUI
the receiver is currently in.Returns the border of this component or null if no border is currently set.int
Returns the size of the divider, that is the width if the splitpane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.If a border has been set on this component, returns the border's insets, else calls super.getInsets.Returns the minimum size of the divider.Returns the preferred size of the divider.boolean
Returns whether or not the mouse is currently over the dividerprotected void
Messaged when the oneTouchExpandable value of the JSplitPane the divider is contained in changes.void
Paints the divider.protected void
Message to prepare for dragging.void
Property change event, presumably from the JSplitPane, will message updateOrientation if necessary.void
Sets theSplitPaneUI
that is using the receiver.void
Sets the border of this component.void
setDividerSize
(int newSize) Sets the size of the divider tonewSize
.protected void
setMouseOver
(boolean mouseOver) Sets whether or not the mouse is currently over the divider.Methods declared in class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getListeners, getMaximumSize, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
Methods declared in class java.awt.Component
action, 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, getAccessibleContext, 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, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
ONE_TOUCH_SIZE
protected static final int ONE_TOUCH_SIZEWidth or height of the divider based on orientationBasicSplitPaneUI
adds two to this.- See Also:
-
ONE_TOUCH_OFFSET
protected static final int ONE_TOUCH_OFFSETThe offset of the divider.- See Also:
-
dragger
Handles mouse dragging message to do the actual dragging. -
splitPaneUI
UI this instance was created from. -
dividerSize
protected int dividerSizeSize of the divider. -
splitPane
JSplitPane the receiver is contained in. -
mouseHandler
Handles mouse events from both this class, and the split pane. Mouse events are handled for the splitpane since you want to be able to drag when clicking on the border of the divider, which is not drawn by the divider. -
orientation
protected int orientationOrientation of the JSplitPane. -
leftButton
Button for quickly toggling the left component. -
rightButton
Button for quickly toggling the right component.
-
-
Constructor Details
-
BasicSplitPaneDivider
Creates an instance ofBasicSplitPaneDivider
. Registers this instance for mouse events and mouse dragged events.- Parameters:
ui
- an instance ofBasicSplitPaneUI
-
-
Method Details
-
setBasicSplitPaneUI
Sets theSplitPaneUI
that is using the receiver.- Parameters:
newUI
- the newSplitPaneUI
-
getBasicSplitPaneUI
Returns theSplitPaneUI
the receiver is currently in.- Returns:
- the
SplitPaneUI
the receiver is currently in
-
setDividerSize
public void setDividerSize(int newSize) Sets the size of the divider tonewSize
. That is the width if the splitpane isHORIZONTAL_SPLIT
, or the height ofVERTICAL_SPLIT
. Divider sizesnewSize < 0
are ignored.- Parameters:
newSize
- a new size
-
getDividerSize
public int getDividerSize()Returns the size of the divider, that is the width if the splitpane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.- Returns:
- the size of the divider
-
setBorder
Sets the border of this component.- Parameters:
border
- a new border- Since:
- 1.3
-
getBorder
Returns the border of this component or null if no border is currently set.- Returns:
- the border object for this component
- Since:
- 1.3
- See Also:
-
getInsets
-
setMouseOver
protected void setMouseOver(boolean mouseOver) Sets whether or not the mouse is currently over the divider.- Parameters:
mouseOver
- whether or not the mouse is currently over the divider- Since:
- 1.5
-
isMouseOver
public boolean isMouseOver()Returns whether or not the mouse is currently over the divider- Returns:
- whether or not the mouse is currently over the divider
- Since:
- 1.5
-
getPreferredSize
Returns the preferred size of the divider.- Overrides:
getPreferredSize
in classContainer
- Implementation Note:
- In current implementation,
if the splitpane is HORIZONTAL_SPLIT, the preferred size is obtained from
width of
getDividerSize
pixels and height of 1 pixel If the splitpane is VERTICAL_SPLIT, the preferred size is obtained from height ofgetDividerSize
pixels and width of 1 pixel - Returns:
- a
Dimension
object containing the preferred size ofBasicSplitPaneDivider
- See Also:
-
getMinimumSize
Returns the minimum size of the divider.- Overrides:
getMinimumSize
in classContainer
- Implementation Note:
- In current implementation,
if the splitpane is HORIZONTAL_SPLIT, the minimum size is obtained from
width of
getDividerSize
pixels and height of 1 pixel If the splitpane is VERTICAL_SPLIT, the minimum size is obtained from height ofgetDividerSize
pixels and width of 1 pixel - Returns:
- a
Dimension
object containing the minimum size ofBasicSplitPaneDivider
- See Also:
-
propertyChange
Property change event, presumably from the JSplitPane, will message updateOrientation if necessary.- Specified by:
propertyChange
in interfacePropertyChangeListener
- Parameters:
e
- A PropertyChangeEvent object describing the event source and the property that has changed.
-
paint
-
oneTouchExpandableChanged
protected void oneTouchExpandableChanged()Messaged when the oneTouchExpandable value of the JSplitPane the divider is contained in changes. Will create theleftButton
andrightButton
if they are null and corresponding JSplitPane supports oneTouchExpandable property. Invalidates the corresponding JSplitPane as well. -
createLeftOneTouchButton
Creates and return an instance ofJButton
that can be used to collapse the left component in the split pane.- Returns:
- an instance of
JButton
-
createRightOneTouchButton
Creates and return an instance ofJButton
that can be used to collapse the right component in the split pane.- Returns:
- an instance of
JButton
-
prepareForDragging
protected void prepareForDragging()Message to prepare for dragging. This messages the BasicSplitPaneUI with startDragging. -
dragDividerTo
protected void dragDividerTo(int location) Messages the BasicSplitPaneUI with dragDividerTo that this instance is contained in.- Parameters:
location
- a location
-
finishDraggingTo
protected void finishDraggingTo(int location) Messages the BasicSplitPaneUI with finishDraggingTo that this instance is contained in.- Parameters:
location
- a location
-