- 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
Nested Classes 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
Fields 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
Constructors Constructor Description BasicSplitPaneUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 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 ofCanvas
that fills in the background with dark gray.protected FocusListener
createFocusListener()
Creates aFocusListener
for theJSplitPane
UI.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 aPropertyChangeListener
for theJSplitPane
UI.static ComponentUI
createUI(JComponent x)
Creates a new instance ofBasicSplitPaneUI
.protected void
dragDividerTo(int location)
Messaged during a dragging session to move the divider to the passed inlocation
.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 theJSplitPane
.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 theJSplitPane
is configured to not continuously layout.int
getOrientation()
Returns the orientation for theJSplitPane
.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 theJSplitPane
this instance is currently contained in.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 theJSplitPane
is set to use a continuous layout.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 theJSplitPane
.protected void
setNonContinuousLayoutDivider(Component newDivider)
Sets the divider to use when theJSplitPane
is configured to not continuously layout.protected void
setNonContinuousLayoutDivider(Component newDivider, boolean rememberSizes)
Sets the divider to use.void
setOrientation(int orientation)
Set the orientation for theJSplitPane
.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
-
-
-
-
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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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
Deprecated.As of Java 2 platform v1.3.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.
-
-
Method Detail
-
createUI
public static ComponentUI createUI(JComponent x)
Creates a new instance ofBasicSplitPaneUI
.- 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 aPropertyChangeListener
for theJSplitPane
UI.- Returns:
- an instance of
PropertyChangeListener
-
createFocusListener
protected FocusListener createFocusListener()
Creates aFocusListener
for theJSplitPane
UI.- Returns:
- an instance of
FocusListener
-
createKeyboardUpLeftListener
@Deprecated protected ActionListener createKeyboardUpLeftListener()
Deprecated.As of Java 2 platform v1.3.As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create anAction
wrapping theActionListener
, and register thatAction
by overridinginstallKeyboardActions
and placing theAction
in theSplitPane's ActionMap
. Please refer to the key bindings specification for further details.Creates an
ActionListener
for theJSplitPane
UI that listens for specific key presses.- Returns:
- an instance of
ActionListener
-
createKeyboardDownRightListener
@Deprecated protected ActionListener createKeyboardDownRightListener()
Deprecated.As of Java 2 platform v1.3.As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create anAction
wrapping theActionListener
, and register thatAction
by overridinginstallKeyboardActions
and placing theAction
in theSplitPane's ActionMap
. Please refer to the key bindings specification for further details.Creates an
ActionListener
for theJSplitPane
UI that listens for specific key presses.- Returns:
- an instance of
ActionListener
-
createKeyboardHomeListener
@Deprecated protected ActionListener createKeyboardHomeListener()
Deprecated.As of Java 2 platform v1.3.As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create anAction
wrapping theActionListener
, and register thatAction
by overridinginstallKeyboardActions
and placing theAction
in theSplitPane's ActionMap
. Please refer to the key bindings specification for further details.Creates an
ActionListener
for theJSplitPane
UI that listens for specific key presses.- Returns:
- an instance of
ActionListener
-
createKeyboardEndListener
@Deprecated protected ActionListener createKeyboardEndListener()
Deprecated.As of Java 2 platform v1.3.As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create anAction
wrapping theActionListener
, and register thatAction
by overridinginstallKeyboardActions
and placing theAction
in theSplitPane's ActionMap
. Please refer to the key bindings specification for further details.Creates an
ActionListener
for theJSplitPane
UI that listens for specific key presses.- Returns:
- an instance of
ActionListener
-
createKeyboardResizeToggleListener
@Deprecated protected ActionListener createKeyboardResizeToggleListener()
Deprecated.As of Java 2 platform v1.3.As of Java 2 platform v1.3 this method is no longer used. Subclassers previously using this method should instead create anAction
wrapping theActionListener
, and register thatAction
by overridinginstallKeyboardActions
and placing theAction
in theSplitPane's ActionMap
. Please refer to the key bindings specification for further details.Creates an
ActionListener
for theJSplitPane
UI that listens for specific key presses.- Returns:
- an instance of
ActionListener
-
getOrientation
public int getOrientation()
Returns the orientation for theJSplitPane
.- Returns:
- the orientation
-
setOrientation
public void setOrientation(int orientation)
Set the orientation for theJSplitPane
.- Parameters:
orientation
- the orientation
-
isContinuousLayout
public boolean isContinuousLayout()
Determines whether theJSplitPane
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 theJSplitPane
.- Returns:
- the last drag location
-
setLastDragLocation
public void setLastDragLocation(int l)
Set the last drag location of theJSplitPane
.- 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 ofCanvas
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 theJSplitPane
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 dividerrememberSizes
- iftrue
the pane size is remembered
-
getNonContinuousLayoutDivider
public Component getNonContinuousLayoutDivider()
Returns the divider to use when theJSplitPane
is configured to not continuously layout. This divider will only be used during a dragging session.- Returns:
- the divider
-
getSplitPane
public JSplitPane getSplitPane()
Returns theJSplitPane
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 inlocation
. IfcontinuousLayout
istrue
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 dividerslocation
will be reset.- Parameters:
location
- the location of divider
-
getDividerBorderSize
@Deprecated protected int getDividerBorderSize()
Deprecated.As of Java 2 platform v1.3, instead set the border on the divider.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
-
-