Class BasicSplitPaneUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.SplitPaneUI
-
- javax.swing.plaf.basic.BasicSplitPaneUI
- Direct Known Subclasses:
-
MetalSplitPaneUI
,SynthSplitPaneUI
public class BasicSplitPaneUI extends SplitPaneUI
A Basic L&F implementation of the SplitPaneUI.
Nested Class Summary
Modifier and Type | Class | Description |
---|---|---|
class | BasicSplitPaneUI.BasicHorizontalLayoutManager | LayoutManager for JSplitPanes that have an orientation of HORIZONTAL_SPLIT. |
class | BasicSplitPaneUI.BasicVerticalLayoutManager | LayoutManager used for JSplitPanes with an orientation of VERTICAL_SPLIT. |
class | BasicSplitPaneUI.FocusHandler | Implementation of the FocusListener that the JSplitPane UI uses. |
class | BasicSplitPaneUI.KeyboardDownRightHandler | Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses. |
class | BasicSplitPaneUI.KeyboardEndHandler | Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses. |
class | BasicSplitPaneUI.KeyboardHomeHandler | Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses. |
class | BasicSplitPaneUI.KeyboardResizeToggleHandler | Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses. |
class | BasicSplitPaneUI.KeyboardUpLeftHandler | Implementation of an ActionListener that the JSplitPane UI uses for handling specific key presses. |
class | BasicSplitPaneUI.PropertyHandler | Implementation of the PropertyChangeListener that the JSplitPane UI uses. |
Field Summary
Modifier and Type | Field | Description |
---|---|---|
protected int | beginDragDividerLocation | Location of the divider when the dragging session began. |
protected BasicSplitPaneDivider | divider | Instance of the divider for this JSplitPane. |
protected KeyStroke | dividerResizeToggleKey | Deprecated. As of Java 2 platform v1.3. |
protected int | dividerSize | The size of the divider while the dragging session is valid. |
protected KeyStroke | downKey | Deprecated. As of Java 2 platform v1.3. |
protected boolean | draggingHW | Set to true in startDragging if any of the children (not including the nonContinuousLayoutDivider) are heavy weights. |
protected KeyStroke | endKey | Deprecated. As of Java 2 platform v1.3. |
protected FocusListener | focusListener | Instance of the FocusListener for this JSplitPane. |
protected KeyStroke | homeKey | Deprecated. As of Java 2 platform v1.3. |
protected static int | KEYBOARD_DIVIDER_MOVE_OFFSET | How far (relative) the divider does move when it is moved around by the cursor keys on the keyboard. |
protected ActionListener | keyboardDownRightListener | Deprecated. As of Java 2 platform v1.3. |
protected ActionListener | keyboardEndListener | Deprecated. As of Java 2 platform v1.3. |
protected ActionListener | keyboardHomeListener | Deprecated. As of Java 2 platform v1.3. |
protected ActionListener | keyboardResizeToggleListener | Deprecated. As of Java 2 platform v1.3. |
protected ActionListener | keyboardUpLeftListener | Deprecated. As of Java 2 platform v1.3. |
protected BasicSplitPaneUI.BasicHorizontalLayoutManager | layoutManager | LayoutManager that is created and placed into the split pane. |
protected KeyStroke | leftKey | Deprecated. As of Java 2 platform v1.3. |
protected static String | NON_CONTINUOUS_DIVIDER | The divider used for non-continuous layout is added to the split pane with this object. |
protected Component | nonContinuousLayoutDivider | Instance for the shadow of the divider when non continuous layout is being used. |
protected PropertyChangeListener | propertyChangeListener | Instance of the PropertyChangeListener for this JSplitPane. |
protected KeyStroke | rightKey | Deprecated. As of Java 2 platform v1.3. |
protected JSplitPane | splitPane | JSplitPane instance this instance is providing the look and feel for. |
protected KeyStroke | upKey | Deprecated. As of Java 2 platform v1.3. |
Constructor Summary
Constructor | Description |
---|---|
BasicSplitPaneUI() |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
BasicSplitPaneDivider | createDefaultDivider() | Creates the default divider. |
protected Component | createDefaultNonContinuousLayoutDivider() | Returns the default non continuous layout divider, which is an instance of |
protected FocusListener | createFocusListener() | Creates a |
protected ActionListener | createKeyboardDownRightListener() | Deprecated. As of Java 2 platform v1.3. |
protected ActionListener | createKeyboardEndListener() | Deprecated. As of Java 2 platform v1.3. |
protected ActionListener | createKeyboardHomeListener() | Deprecated. As of Java 2 platform v1.3. |
protected ActionListener | createKeyboardResizeToggleListener() | Deprecated. As of Java 2 platform v1.3. |
protected ActionListener | createKeyboardUpLeftListener() | Deprecated. As of Java 2 platform v1.3. |
protected PropertyChangeListener | createPropertyChangeListener() | Creates a |
static ComponentUI | createUI(JComponent x) | Creates a new instance of |
protected void | dragDividerTo(int location) | Messaged during a dragging session to move the divider to the passed in |
protected void | finishDraggingTo(int location) | Messaged to finish the dragging session. |
void | finishedPaintingChildren(JSplitPane sp,
Graphics g) | Called when the specified split pane has finished painting its children. |
BasicSplitPaneDivider | getDivider() | Returns the divider between the top Components. |
protected int | getDividerBorderSize() | Deprecated. As of Java 2 platform v1.3, instead set the border on the divider. |
int | getDividerLocation(JSplitPane jc) | Returns the location of the divider, which may differ from what the splitpane thinks the location of the divider is. |
Insets | getInsets(JComponent jc) | Returns the insets. |
int | getLastDragLocation() | Returns the last drag location of the |
int | getMaximumDividerLocation(JSplitPane jc) | Gets the maximum location of the divider. |
Dimension | getMaximumSize(JComponent jc) | Returns the maximum size for the passed in component, This is passed off to the current layout manager. |
int | getMinimumDividerLocation(JSplitPane jc) | Gets the minimum location of the divider. |
Dimension | getMinimumSize(JComponent jc) | Returns the minimum size for the passed in component, This is passed off to the current layout manager. |
Component | getNonContinuousLayoutDivider() | Returns the divider to use when the |
int | getOrientation() | Returns the orientation for the |
Dimension | getPreferredSize(JComponent jc) | Returns the preferred size for the passed in component, This is passed off to the current layout manager. |
JSplitPane | getSplitPane() | Returns the |
protected void | installDefaults() | Installs the UI defaults. |
protected void | installKeyboardActions() | Installs the keyboard actions for the UI. |
protected void | installListeners() | Installs the event listeners for the UI. |
void | installUI(JComponent c) | Installs the UI. |
boolean | isContinuousLayout() | Determines whether the |
protected void | resetLayoutManager() | Resets the layout manager based on orientation and messages it with invalidateLayout to pull in appropriate Components. |
void | resetToPreferredSizes(JSplitPane jc) | Messaged to reset the preferred sizes. |
void | setContinuousLayout(boolean b) | Turn continuous layout on/off. |
void | setDividerLocation(JSplitPane jc,
int location) | Sets the location of the divider to location. |
void | setLastDragLocation(int l) | Set the last drag location of the |
protected void | setNonContinuousLayoutDivider(Component newDivider) | Sets the divider to use when the |
protected void | setNonContinuousLayoutDivider(Component newDivider,
boolean rememberSizes) | Sets the divider to use. |
void | setOrientation(int orientation) | Set the orientation for the |
protected void | startDragging() | Should be messaged before the dragging session starts, resets lastDragLocation and dividerSize. |
protected void | uninstallDefaults() | Uninstalls the UI defaults. |
protected void | uninstallKeyboardActions() | Uninstalls the keyboard actions for the UI. |
protected void | uninstallListeners() | Uninstalls the event listeners for the UI. |
void | uninstallUI(JComponent c) | Uninstalls the UI. |
Methods declared in class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, paint, update
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail
NON_CONTINUOUS_DIVIDER
protected static final String NON_CONTINUOUS_DIVIDER
The divider used for non-continuous layout is added to the split pane with this object.
- See Also:
- Constant Field Values
KEYBOARD_DIVIDER_MOVE_OFFSET
protected static int KEYBOARD_DIVIDER_MOVE_OFFSET
How far (relative) the divider does move when it is moved around by the cursor keys on the keyboard.
splitPane
protected JSplitPane splitPane
JSplitPane instance this instance is providing the look and feel for.
layoutManager
protected BasicSplitPaneUI.BasicHorizontalLayoutManager layoutManager
LayoutManager that is created and placed into the split pane.
divider
protected BasicSplitPaneDivider divider
Instance of the divider for this JSplitPane.
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
Instance of the PropertyChangeListener for this JSplitPane.
focusListener
protected FocusListener focusListener
Instance of the FocusListener for this JSplitPane.
dividerSize
protected int dividerSize
The size of the divider while the dragging session is valid.
nonContinuousLayoutDivider
protected Component nonContinuousLayoutDivider
Instance for the shadow of the divider when non continuous layout is being used.
draggingHW
protected boolean draggingHW
Set to true in startDragging if any of the children (not including the nonContinuousLayoutDivider) are heavy weights.
beginDragDividerLocation
protected int beginDragDividerLocation
Location of the divider when the dragging session began.
upKey
@Deprecated protected KeyStroke upKey
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
downKey
@Deprecated protected KeyStroke downKey
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
leftKey
@Deprecated protected KeyStroke leftKey
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
rightKey
@Deprecated protected KeyStroke rightKey
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
homeKey
@Deprecated protected KeyStroke homeKey
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
endKey
@Deprecated protected KeyStroke endKey
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
dividerResizeToggleKey
@Deprecated protected KeyStroke dividerResizeToggleKey
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
keyboardUpLeftListener
@Deprecated protected ActionListener keyboardUpLeftListener
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
keyboardDownRightListener
@Deprecated protected ActionListener keyboardDownRightListener
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
keyboardHomeListener
@Deprecated protected ActionListener keyboardHomeListener
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
keyboardEndListener
@Deprecated protected ActionListener keyboardEndListener
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
keyboardResizeToggleListener
@Deprecated protected ActionListener keyboardResizeToggleListener
As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.
Constructor Detail
BasicSplitPaneUI
public BasicSplitPaneUI()
Method Detail
createUI
public static ComponentUI createUI(JComponent x)
Creates a new instance of BasicSplitPaneUI
.
- Parameters:
-
x
- a component - Returns:
- a new instance of
BasicSplitPaneUI
installUI
public void installUI(JComponent c)
Installs the UI.
- Overrides:
-
installUI
in classComponentUI
- Parameters:
-
c
- the component where this UI delegate is being installed - See Also:
-
ComponentUI.uninstallUI(javax.swing.JComponent)
,JComponent.setUI(javax.swing.plaf.ComponentUI)
,JComponent.updateUI()
installDefaults
protected void installDefaults()
Installs the UI defaults.
installListeners
protected void installListeners()
Installs the event listeners for the UI.
installKeyboardActions
protected void installKeyboardActions()
Installs the keyboard actions for the UI.
uninstallUI
public void uninstallUI(JComponent c)
Uninstalls the UI.
- Overrides:
-
uninstallUI
in classComponentUI
- Parameters:
-
c
- the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components - See Also:
-
ComponentUI.installUI(javax.swing.JComponent)
,JComponent.updateUI()
uninstallDefaults
protected void uninstallDefaults()
Uninstalls the UI defaults.
uninstallListeners
protected void uninstallListeners()
Uninstalls the event listeners for the UI.
uninstallKeyboardActions
protected void uninstallKeyboardActions()
Uninstalls the keyboard actions for the UI.
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
Creates a PropertyChangeListener
for the JSplitPane
UI.
- Returns:
- an instance of
PropertyChangeListener
createFocusListener
protected FocusListener createFocusListener()
Creates a FocusListener
for the JSplitPane
UI.
- Returns:
- an instance of
FocusListener
createKeyboardUpLeftListener
@Deprecated protected ActionListener createKeyboardUpLeftListener()
As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action
wrapping the ActionListener
, and register that Action
by overriding installKeyboardActions
and placing the Action
in the SplitPane's ActionMap
. Please refer to the key bindings specification for further details.
Creates an ActionListener
for the JSplitPane
UI that listens for specific key presses.
- Returns:
- an instance of
ActionListener
createKeyboardDownRightListener
@Deprecated protected ActionListener createKeyboardDownRightListener()
As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action
wrapping the ActionListener
, and register that Action
by overriding installKeyboardActions
and placing the Action
in the SplitPane's ActionMap
. Please refer to the key bindings specification for further details.
Creates an ActionListener
for the JSplitPane
UI that listens for specific key presses.
- Returns:
- an instance of
ActionListener
createKeyboardHomeListener
@Deprecated protected ActionListener createKeyboardHomeListener()
As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action
wrapping the ActionListener
, and register that Action
by overriding installKeyboardActions
and placing the Action
in the SplitPane's ActionMap
. Please refer to the key bindings specification for further details.
Creates an ActionListener
for the JSplitPane
UI that listens for specific key presses.
- Returns:
- an instance of
ActionListener
createKeyboardEndListener
@Deprecated protected ActionListener createKeyboardEndListener()
As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action
wrapping the ActionListener
, and register that Action
by overriding installKeyboardActions
and placing the Action
in the SplitPane's ActionMap
. Please refer to the key bindings specification for further details.
Creates an ActionListener
for the JSplitPane
UI that listens for specific key presses.
- Returns:
- an instance of
ActionListener
createKeyboardResizeToggleListener
@Deprecated protected ActionListener createKeyboardResizeToggleListener()
As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create an Action
wrapping the ActionListener
, and register that Action
by overriding installKeyboardActions
and placing the Action
in the SplitPane's ActionMap
. Please refer to the key bindings specification for further details.
Creates an ActionListener
for the JSplitPane
UI that listens for specific key presses.
- Returns:
- an instance of
ActionListener
getOrientation
public int getOrientation()
Returns the orientation for the JSplitPane
.
- Returns:
- the orientation
setOrientation
public void setOrientation(int orientation)
Set the orientation for the JSplitPane
.
- Parameters:
-
orientation
- the orientation
isContinuousLayout
public boolean isContinuousLayout()
Determines whether the JSplitPane
is set to use a continuous layout.
- Returns:
-
true
if a continuous layout is set
setContinuousLayout
public void setContinuousLayout(boolean b)
Turn continuous layout on/off.
- Parameters:
-
b
- iftrue
the continuous layout turns on
getLastDragLocation
public int getLastDragLocation()
Returns the last drag location of the JSplitPane
.
- Returns:
- the last drag location
setLastDragLocation
public void setLastDragLocation(int l)
Set the last drag location of the JSplitPane
.
- Parameters:
-
l
- the drag location
getDivider
public BasicSplitPaneDivider getDivider()
Returns the divider between the top Components.
- Returns:
- the divider between the top Components
createDefaultNonContinuousLayoutDivider
protected Component createDefaultNonContinuousLayoutDivider()
Returns the default non continuous layout divider, which is an instance of Canvas
that fills in the background with dark gray.
- Returns:
- the default non continuous layout divider
setNonContinuousLayoutDivider
protected void setNonContinuousLayoutDivider(Component newDivider)
Sets the divider to use when the JSplitPane
is configured to not continuously layout. This divider will only be used during a dragging session. It is recommended that the passed in component be a heavy weight.
- Parameters:
-
newDivider
- the new divider
setNonContinuousLayoutDivider
protected void setNonContinuousLayoutDivider(Component newDivider, boolean rememberSizes)
Sets the divider to use.
- Parameters:
-
newDivider
- the new divider -
rememberSizes
- iftrue
the pane size is remembered
getNonContinuousLayoutDivider
public Component getNonContinuousLayoutDivider()
Returns the divider to use when the JSplitPane
is configured to not continuously layout. This divider will only be used during a dragging session.
- Returns:
- the divider
getSplitPane
public JSplitPane getSplitPane()
Returns the JSplitPane
this instance is currently contained in.
- Returns:
- the instance of
JSplitPane
createDefaultDivider
public BasicSplitPaneDivider createDefaultDivider()
Creates the default divider.
- Returns:
- the default divider
resetToPreferredSizes
public void resetToPreferredSizes(JSplitPane jc)
Messaged to reset the preferred sizes.
- Specified by:
-
resetToPreferredSizes
in classSplitPaneUI
- Parameters:
-
jc
- aJSplitPane
setDividerLocation
public void setDividerLocation(JSplitPane jc, int location)
Sets the location of the divider to location.
- Specified by:
-
setDividerLocation
in classSplitPaneUI
- Parameters:
-
jc
- aJSplitPane
-
location
- an integer specifying the location of the divider
getDividerLocation
public int getDividerLocation(JSplitPane jc)
Returns the location of the divider, which may differ from what the splitpane thinks the location of the divider is.
- Specified by:
-
getDividerLocation
in classSplitPaneUI
- Parameters:
-
jc
- aJSplitPane
- Returns:
- an integer specifying the location of the divider
getMinimumDividerLocation
public int getMinimumDividerLocation(JSplitPane jc)
Gets the minimum location of the divider.
- Specified by:
-
getMinimumDividerLocation
in classSplitPaneUI
- Parameters:
-
jc
- aJSplitPane
- Returns:
- and integer specifying the minimum location of the divider
getMaximumDividerLocation
public int getMaximumDividerLocation(JSplitPane jc)
Gets the maximum location of the divider.
- Specified by:
-
getMaximumDividerLocation
in classSplitPaneUI
- Parameters:
-
jc
- aJSplitPane
- Returns:
- an integer specifying the maximum location of the divider
finishedPaintingChildren
public void finishedPaintingChildren(JSplitPane sp, Graphics g)
Called when the specified split pane has finished painting its children.
- Specified by:
-
finishedPaintingChildren
in classSplitPaneUI
- Parameters:
-
sp
- aJSplitPane
-
g
- theGraphics
context
getPreferredSize
public Dimension getPreferredSize(JComponent jc)
Returns the preferred size for the passed in component, This is passed off to the current layout manager.
- Overrides:
-
getPreferredSize
in classComponentUI
- Parameters:
-
jc
- the component whose preferred size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components - Returns:
- a
Dimension
object containing given component's preferred size appropriate for the look and feel - See Also:
-
JComponent.getPreferredSize()
,LayoutManager.preferredLayoutSize(java.awt.Container)
getMinimumSize
public Dimension getMinimumSize(JComponent jc)
Returns the minimum size for the passed in component, This is passed off to the current layout manager.
- Overrides:
-
getMinimumSize
in classComponentUI
- Parameters:
-
jc
- the component whose minimum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components - Returns:
- a
Dimension
object ornull
- See Also:
-
JComponent.getMinimumSize()
,LayoutManager.minimumLayoutSize(java.awt.Container)
,ComponentUI.getPreferredSize(javax.swing.JComponent)
getMaximumSize
public Dimension getMaximumSize(JComponent jc)
Returns the maximum size for the passed in component, This is passed off to the current layout manager.
- Overrides:
-
getMaximumSize
in classComponentUI
- Parameters:
-
jc
- the component whose maximum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components - Returns:
- a
Dimension
object ornull
- See Also:
-
JComponent.getMaximumSize()
,LayoutManager2.maximumLayoutSize(java.awt.Container)
getInsets
public Insets getInsets(JComponent jc)
Returns the insets. The insets are returned from the border insets of the current border.
- Parameters:
-
jc
- a component - Returns:
- the insets
resetLayoutManager
protected void resetLayoutManager()
Resets the layout manager based on orientation and messages it with invalidateLayout to pull in appropriate Components.
startDragging
protected void startDragging()
Should be messaged before the dragging session starts, resets lastDragLocation and dividerSize.
dragDividerTo
protected void dragDividerTo(int location)
Messaged during a dragging session to move the divider to the passed in location
. If continuousLayout
is true
the location is reset and the splitPane validated.
- Parameters:
-
location
- the location of divider
finishDraggingTo
protected void finishDraggingTo(int location)
Messaged to finish the dragging session. If not continuous display the dividers location
will be reset.
- Parameters:
-
location
- the location of divider
getDividerBorderSize
@Deprecated protected int getDividerBorderSize()
As of Java 2 platform v1.3 this method is no longer used. Instead you should set the border on the divider.
Returns the width of one side of the divider border.
- Returns:
- the width of one side of the divider border