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 classHandles the events during a dragging session for a HORIZONTAL_SPLIT oriented split pane.protected classMouseHandler is responsible for converting mouse events (released, dragged...) into the appropriate DragController methods.protected classThe actionListener that will listen for button presses on either the leftButton or the rightButton.protected classHandles the events during a dragging session for a VERTICAL_SPLIT oriented split pane.Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intSize of the divider.protected JideSplitPaneDivider.DragControllerHandles mouse dragging message to do the actual dragging.protected JideSplitPaneJideSplitPane the receiver is contained in.protected JButtonButton for quickly toggling the left component.protected JideSplitPaneDivider.MouseHandlerHandles mouse events from both this class, and the split pane.protected intOrientation of the JideSplitPane.protected JButtonButton for quickly toggling the right component.static final intIndicates that the pane of the left of this component has been collapse by the one-touch button.static final intIndicates that this divider has not been expanded or collapsed.static final intIndicates 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 TypeMethodDescriptionvoidcollapse()Collapses the divider to the left side (or to the top if vertically).protected JButtonBuilds the Button that can be used to collapse the component to the left/above this divider.protected JideSplitPaneDivider.MouseHandlerprotected JButtonBuilds the rightButton that can be used to expand/collapse a split panes divider to the right.protected voiddragDividerTo(int location) voidexpand()Expands the divider to the right side (or to the bottom if vertically).protected voidfinishDraggingTo(int location) intGets the current collapse/expand state.protected ColorReturns a dark shadow color.intReturns 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 intgetNextDividerLocation(boolean ignoreVisibility, boolean reversed) Returns dividerSize x dividerSizeprotected intgetPreviousDividerLocation(boolean ignoreVisibility, boolean reversed) getSecondComponent(boolean ignoreVisibility) Gets the second component.protected voidInvoked when the oneTouchExpandable value of the JideSplitPane changes.voidPaints the divider.protected voidMessage to prepare for dragging.voidProperty change event, presumably from the JideSplitPane, will message updateOrientation if necessary.voidvoidsetDividerSize(int newSize) Sets the size of the divider tonewSize.voidsetJideSplitPane(JideSplitPane splitPane) Sets the JideSplitPane that is using this divider.voidupdateUI()Resets the UI property to a value from the current look and feel.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUIMethods 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, updateMethods 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, validateTreeMethods 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:
getPreferredSizein classJComponent
-
getMinimumSize
Returns dividerSize x dividerSize- Overrides:
getMinimumSizein classJComponent
-
propertyChange
Property change event, presumably from the JideSplitPane, will message updateOrientation if necessary.- Specified by:
propertyChangein interfacePropertyChangeListener
-
updateUI
public void updateUI()Resets the UI property to a value from the current look and feel.JComponentsubclasses must override this method like this:public void updateUI() { setUI((SliderUI)UIManager.getUI(this); } -
paintComponent
Paints the divider.- Overrides:
paintComponentin 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.
Responsible for creating the one-touch buttons and revalidating the UI. #see JideSplitePane#setOneTouchExpandable(boolean) -
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).
-