javax.swing.plaf.basic
public class BasicSplitPaneDivider extends Container implements PropertyChangeListener
Implementation status: We do not have a real implementation yet. Currently, it is mostly a stub to allow compiling other parts of the javax.swing.plaf.basic package, although some parts are already functional.
Nested Class Summary | |
---|---|
protected class | BasicSplitPaneDivider.DividerLayout
This helper class acts as the Layout Manager for the divider. |
protected class | BasicSplitPaneDivider.DragController
Performs the tasks associated with an ongoing drag operation.
|
protected class | BasicSplitPaneDivider.MouseHandler
The listener for handling mouse events from both the divider and the
containing JSplitPane .
|
protected class | BasicSplitPaneDivider.VerticalDragController
This is a helper class that controls dragging when the orientation is
VERTICAL_SPLIT. |
Field Summary | |
---|---|
protected int | dividerSize The thickness of the divider in pixels. |
protected BasicSplitPaneDivider.DragController | dragger
An object that performs the tasks associated with an ongoing drag
operation, or null if the user is currently not dragging
the divider. |
protected Component | hiddenDivider A divider that is used for layout purposes. |
protected JButton | leftButton
The button for showing and hiding the left (or top) component of the
JSplitPane . |
protected BasicSplitPaneDivider.MouseHandler | mouseHandler
The listener for handling mouse events from both the divider and the
containing JSplitPane .
|
protected int | orientation
The current orientation of the containing JSplitPane , which
is either {@link javax.swing.JSplitPane#HORIZONTAL_SPLIT} or {@link
javax.swing.JSplitPane#VERTICAL_SPLIT}. |
protected static int | ONE_TOUCH_OFFSET The distance the one touch buttons will sit from the divider's edges. |
protected static int | ONE_TOUCH_SIZE
The width and height of the little buttons for showing and hiding parts
of a JSplitPane in a single mouse click. |
protected JButton | rightButton
The button for showing and hiding the right (or bottom) component of the
JSplitPane . |
protected JSplitPane | splitPane The JSplitPane containing this divider. |
protected BasicSplitPaneUI | splitPaneUI
The delegate object that is responsible for the UI of the
JSplitPane that contains this divider. |
Constructor Summary | |
---|---|
BasicSplitPaneDivider(BasicSplitPaneUI ui)
Constructs a new divider.
|
Method Summary | |
---|---|
protected JButton | createLeftOneTouchButton()
Creates a button for showing and hiding the left (or top) part of a
JSplitPane .
|
protected JButton | createRightOneTouchButton()
Creates a button for showing and hiding the right (or bottom) part of a
JSplitPane .
|
protected void | dragDividerTo(int location)
Drags the divider to a given location by calling the
dragDividerTo method of the UI delegate of the enclosing
JSplitPane .
|
protected void | finishDraggingTo(int location)
Finishes a dragging gesture by calling the finishDraggingTo
method of the UI delegate of the enclosing JSplitPane .
|
BasicSplitPaneUI | getBasicSplitPaneUI()
Returns the delegate object that is responsible for the UI of the {@link
javax.swing.JSplitPane} containing this divider.
|
Border | getBorder()
Retrieves the border of this divider.
|
int | getDividerSize()
Retrieves the thickness of the divider.
|
Insets | getInsets()
Retrieves the insets of the divider. |
Dimension | getMinimumSize()
Returns the minimal size of this divider, which is
dividerSize by dividerSize pixels.
|
Dimension | getPreferredSize()
Returns the preferred size of this divider, which is
dividerSize by dividerSize pixels.
|
protected void | oneTouchExpandableChanged()
Reacts to changes of the oneToughExpandable property of the
containing JSplitPane . |
void | paint(Graphics g)
Paints the divider by painting its border.
|
protected void | prepareForDragging()
Prepares the divider for dragging by calling the
startDragging method of the UI delegate of the enclosing
JSplitPane .
|
void | propertyChange(PropertyChangeEvent e)
Processes events from the JSplitPane that contains this
divider.
|
void | setBasicSplitPaneUI(BasicSplitPaneUI newUI)
Sets the delegate object that is responsible for the UI of the {@link
javax.swing.JSplitPane} containing this divider.
|
void | setBorder(Border border)
Sets the border of this divider.
|
void | setDividerSize(int newSize)
Sets the thickness of the divider.
|
null
if the user is currently not dragging
the divider.JSplitPane
.JSplitPane
.
The reason for also handling MouseEvents from the containing
JSplitPane
is that users should be able to start a drag
gesture from inside the JSplitPane, but slightly outisde the divider.
JSplitPane
, which
is either {@link javax.swing.JSplitPane#HORIZONTAL_SPLIT} or {@link
javax.swing.JSplitPane#VERTICAL_SPLIT}.JSplitPane
.JSplitPane
that contains this divider.Parameters: ui the UI delegate of the enclosing JSplitPane
.
JSplitPane
.
Returns: The left one touch button.
JSplitPane
.
Returns: The right one touch button.
dragDividerTo
method of the UI delegate of the enclosing
JSplitPane
.
Parameters: location the new location of the divider.
See Also: BasicSplitPaneUI
finishDraggingTo
method of the UI delegate of the enclosing JSplitPane
.
Parameters: location the new, final location of the divider.
See Also: BasicSplitPaneUI
Returns: The UI for the JSplitPane.
Returns: the current border, or null
if no border has been
set.
Since: 1.3
Returns: The thickness of the divider.
getBorderInsets
method is returned. Otherwise, the inherited implementation will be
invoked.
See Also: getBorderInsets
dividerSize
by dividerSize
pixels.
Returns: The minimal size of the divider.
dividerSize
by dividerSize
pixels.
Returns: The preferred size of the divider.
oneToughExpandable
property of the
containing JSplitPane
.Parameters: g The Graphics Object to paint with.
startDragging
method of the UI delegate of the enclosing
JSplitPane
.
See Also: startDragging
JSplitPane
that contains this
divider.
Parameters: e The PropertyChangeEvent.
Parameters: newUI the UI delegate, or null
to release the
connection to the current delegate.
Parameters: border the new border. Typically, this will be an instance of {@link javax.swing.plaf.basic.BasicBorders.SplitPaneBorder}.
Since: 1.3
Parameters: newSize the new width or height in pixels.