Package com.jidesoft.swing
Class JideSplitPaneDivider
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.jidesoft.swing.JideSplitPaneDivider
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
Divider used by JideSplitPane.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected 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
The actionListener that will listen for button presses on either the leftButton or the rightButton.protected class
Handles the events during a dragging session for a VERTICAL_SPLIT oriented split pane.Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
Size of the divider.protected JideSplitPaneDivider.DragController
Handles mouse dragging message to do the actual dragging.protected JideSplitPane
JideSplitPane the receiver is contained in.protected JButton
Button for quickly toggling the left component.protected JideSplitPaneDivider.MouseHandler
Handles mouse events from both this class, and the split pane.protected int
Orientation of the JideSplitPane.protected JButton
Button for quickly toggling the right component.static final int
Indicates that the pane of the left of this component has been collapse by the one-touch button.static final int
Indicates that this divider has not been expanded or collapsed.static final int
Indicates that the pane of the right of this component has been collapse by the one-touch button.Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, 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
ConstructorsConstructorDescriptionJideSplitPaneDivider
(JideSplitPane splitPane) Creates an instance of BasicJideSplitPaneDivider. -
Method Summary
Modifier and TypeMethodDescriptionvoid
collapse()
Collapses the divider to the left side (or to the top if vertically).protected JButton
Builds the Button that can be used to collapse the component to the left/above this divider.protected JideSplitPaneDivider.MouseHandler
protected JButton
Builds the rightButton that can be used to expand/collapse a split panes divider to the right.protected void
dragDividerTo
(int location) void
expand()
Expands the divider to the right side (or to the bottom if vertically).protected void
finishDraggingTo
(int location) int
Gets the current collapse/expand state.protected Color
Returns a dark shadow color.int
Returns the size of the divider, that is the width if the split pane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.getFirstComponent
(boolean ignoreVisibility) Gets the first component.Gets theJideSplitPane
.Returns dividerSize x dividerSizeprotected int
getNextDividerLocation
(boolean ignoreVisibility, boolean reversed) Returns dividerSize x dividerSizeprotected int
getPreviousDividerLocation
(boolean ignoreVisibility, boolean reversed) getSecondComponent
(boolean ignoreVisibility) Gets the second component.protected void
Invoked when the oneTouchExpandable value of the JideSplitPane changes.void
Paints the divider.protected void
Message to prepare for dragging.void
Property change event, presumably from the JideSplitPane, will message updateOrientation if necessary.void
void
setDividerSize
(int newSize) Sets the size of the divider tonewSize
.void
setJideSplitPane
(JideSplitPane splitPane) Sets the JideSplitPane that is using this divider.void
updateUI()
Resets the UI property to a value from the current look and feel.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
_dragger
Handles mouse dragging message to do the actual dragging. -
_dividerSize
protected int _dividerSizeSize of the divider. -
_jideSplitPane
JideSplitPane the receiver is contained in. -
_mouseHandler
Handles mouse events from both this class, and the split pane. Mouse events are handled for the JideSplitPane 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 JideSplitPane. -
COLLAPSED_STATE
public static final int COLLAPSED_STATEIndicates that the pane of the left of this component has been collapse by the one-touch button.- See Also:
-
DEFAULT_STATE
public static final int DEFAULT_STATEIndicates that this divider has not been expanded or collapsed.- See Also:
-
EXPANDED_STATE
public static final int EXPANDED_STATEIndicates that the pane of the right of this component has been collapse by the one-touch button. Hence, the pane on the left has been "expanded".- See Also:
-
_leftButton
Button for quickly toggling the left component. -
_rightButton
Button for quickly toggling the right component.
-
-
Constructor Details
-
JideSplitPaneDivider
Creates an instance of BasicJideSplitPaneDivider. Registers this instance for mouse events and mouse dragged events.- Parameters:
splitPane
- the JideSplitPane.
-
-
Method Details
-
setDefaultResizeCursor
public void setDefaultResizeCursor() -
getJideSplitPane
Gets theJideSplitPane
.- Returns:
- the
JideSplitPane
-
setJideSplitPane
Sets the JideSplitPane that is using this divider.- Parameters:
splitPane
- the JideSplitPane.
-
createMouseHandler
-
setDividerSize
public void setDividerSize(int newSize) Sets the size of the divider tonewSize
. That is the width if the split pane isHORIZONTAL_SPLIT
, or the height ofVERTICAL_SPLIT
.- Parameters:
newSize
- the new divider size.
-
getDividerSize
public int getDividerSize()Returns the size of the divider, that is the width if the split pane is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.- Returns:
- the divider size.
-
getPreferredSize
Returns dividerSize x dividerSize- Overrides:
getPreferredSize
in classJComponent
-
getMinimumSize
Returns dividerSize x dividerSize- Overrides:
getMinimumSize
in classJComponent
-
propertyChange
Property change event, presumably from the JideSplitPane, will message updateOrientation if necessary.- Specified by:
propertyChange
in interfacePropertyChangeListener
-
updateUI
public void updateUI()Resets the UI property to a value from the current look and feel.JComponent
subclasses must override this method like this:public void updateUI() { setUI((SliderUI)UIManager.getUI(this); }
-
paintComponent
Paints the divider.- Overrides:
paintComponent
in classJComponent
-
prepareForDragging
protected void prepareForDragging()Message to prepare for dragging. This messages the BasicJideSplitPaneUI with startDragging. -
dragDividerTo
protected void dragDividerTo(int location) -
finishDraggingTo
protected void finishDraggingTo(int location) -
getPreviousDividerLocation
protected int getPreviousDividerLocation(boolean ignoreVisibility, boolean reversed) -
getNextDividerLocation
protected int getNextDividerLocation(boolean ignoreVisibility, boolean reversed) -
getFirstComponent
Gets the first component. This divider is installed between two components. The first component is usually the one on the left or on the top.- Parameters:
ignoreVisibility
- true to not check if the component is visible.- Returns:
- the first component
-
getSecondComponent
Gets the second component. This divider is installed between two components. The second component is usually the one on the right or on the bottom.- Parameters:
ignoreVisibility
- true to not check if the component is visible.- Returns:
- the first component
-
oneTouchExpandableChanged
protected void oneTouchExpandableChanged()Invoked when the oneTouchExpandable value of the JideSplitPane changes. -
createLeftOneTouchButton
Builds the Button that can be used to collapse the component to the left/above this divider.- Returns:
- a JButton instance used to collapse the component to the left/above this divider.
-
getCurrentState
public int getCurrentState()Gets the current collapse/expand state. The default value is DEFAULT_STATE whenJideSplitPane.isOneTouchExpandable()
returns false. It could be EXPANDED_STATE or COLLAPSED_STATE when one touch expandable is activated.- Returns:
- the current state
- Since:
- 3.3.8
-
createRightOneTouchButton
Builds the rightButton that can be used to expand/collapse a split panes divider to the right.- Returns:
- a JButton instance used to expand/collapse a split panes divider to the right.
-
getDarkShadowColor
Returns a dark shadow color. This color is used to paint the left and right buttons graphics. It is based on the current Look and Feel. (And thus fits all look and Feels.)- Returns:
- UIManager.getColor("controlDkShadow")
-
collapse
public void collapse()Collapses the divider to the left side (or to the top if vertically). -
expand
public void expand()Expands the divider to the right side (or to the bottom if vertically).
-