public class WebSplitPaneDivider extends WebContainer<WebSplitPaneDivider,WSplitPaneDividerUI> implements PropertyChangeListener
WSplitPaneUI
.
This is a better implementation of default Swing BasicSplitPaneDivider
.
Problem with th default implementation is that it is based on Container
and therefore cannot be properly styled.SplitPaneDescriptor
,
WSplitPaneDividerUI
,
WebSplitPaneDividerUI
,
ISplitPanePainter
,
SplitPanePainter
,
WebSplitPane
,
Serialized FormModifier and Type | Class and Description |
---|---|
protected class |
WebSplitPaneDivider.DividerLayout
|
protected class |
WebSplitPaneDivider.DragController
Handles the events during a dragging session for a
JSplitPane.HORIZONTAL_SPLIT oriented split pane. |
protected class |
WebSplitPaneDivider.MouseHandler
MouseHandler is responsible for converting mouse events (released, dragged...) into the appropriate DragController methods.
|
protected class |
WebSplitPaneDivider.OneTouchActionHandler
Listeners installed on the one touch expandable buttons.
|
class |
WebSplitPaneDivider.OneTouchButton
Custom one-touch button.
|
protected class |
WebSplitPaneDivider.VerticalDragController
Handles the events during a dragging session for a
JSplitPane.VERTICAL_SPLIT oriented split pane. |
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected int |
dividerSize
Preferred size of the divider.
|
protected WebSplitPaneDivider.DragController |
dragger
Handles mouse dragging message to do the actual dragging.
|
protected Component |
hiddenDivider
Divider that is used for noncontinuous layout mode.
|
protected WebButton |
leftButton
Button for quickly toggling the left component.
|
protected WebSplitPaneDivider.MouseHandler |
mouseHandler
Handles mouse events from both this class, and the split pane.
|
protected int |
orientation
Orientation of the JSplitPane.
|
protected WebButton |
rightButton
Button for quickly toggling the right component.
|
static String |
SPLIT_PANE_PROPERTY
Property identifying
JSplitPane this divider is attached to. |
protected JSplitPane |
splitPane
JSplitPane this divider is used for. |
protected WSplitPaneUI |
splitPaneUI
WSplitPaneUI of the JSplitPane this divider is used for. |
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
UNDEFINED
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
WebSplitPaneDivider(JSplitPane splitPane)
Constructs new
WebSplitPaneDivider . |
WebSplitPaneDivider(StyleId id,
JSplitPane splitPane)
Constructs new
WebSplitPaneDivider . |
Modifier and Type | Method and Description |
---|---|
protected WebButton |
createLeftOneTouchButton()
Creates and returns new
WebButton that can be used to collapse the left component in JSplitPane . |
protected WebButton |
createRightOneTouchButton()
Creates and returns new
WebButton that can be used to collapse the right component in JSplitPane . |
protected void |
dragDividerTo(int location)
Messages the
WSplitPaneUI with dragDividerTo that this instance is contained in. |
protected void |
finishDraggingTo(int location)
Messages the
WSplitPaneUI with finishDraggingTo that this instance is contained in. |
StyleId |
getDefaultStyleId()
Returns default component
StyleId . |
int |
getDividerSize()
Returns divider size.
|
JSplitPane |
getSplitPane()
Returns
JSplitPane this divider is used for. |
WSplitPaneUI |
getSplitPaneUI()
Returns
WSplitPaneUI of the JSplitPane this divider is used for. |
WSplitPaneDividerUI |
getUI()
Returns the look and feel (LaF) object that renders this component.
|
String |
getUIClassID() |
protected void |
prepareForDragging()
Message to prepare for dragging.
|
void |
propertyChange(PropertyChangeEvent e) |
void |
setDividerSize(int size)
Sets divider size.
|
protected void |
setSplitPane(JSplitPane splitPane)
Sets
JSplitPane this divider is attached to. |
void |
setUI(WSplitPaneDividerUI ui)
Sets the LaF object that renders this component.
|
protected void |
updateOneTouchButtons()
Updates divider one-touch buttons.
|
protected void |
updateOrientationAndCursor()
Updates locally stored
JSplitPane orientation and divider cursor. |
void |
updateUI() |
add, add, add, add, add, contains, equalizeComponentsHeight, equalizeComponentsSize, equalizeComponentsWidth, forEach, getFirstComponent, getLastComponent, remove, remove, removeAll
addDictionaryListener, addLanguageListener, addStyleListener, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, addToolTip, changeFontSize, getCustomPainter, getFontName, getFontSize, getLanguage, getMargin, getMaximumHeight, getMaximumSize, getMaximumWidth, getMinimumHeight, getMinimumSize, getMinimumWidth, getOriginalMaximumSize, getOriginalMinimumSize, getOriginalPreferredSize, getPadding, getPainterShape, getPreferredHeight, getPreferredSize, getPreferredWidth, getSkin, getStyleId, isBoldFont, isItalicFont, isLanguageSet, isPlainFont, isShapeDetectionEnabled, loadSettings, onDoubleClick, onDragStart, onDragStart, onFocusGain, onFocusLoss, onKeyPress, onKeyPress, onKeyRelease, onKeyRelease, onKeyType, onKeyType, onMenuTrigger, onMouseClick, onMouseClick, onMouseDrag, onMouseDrag, onMouseEnter, onMouseExit, onMousePress, onMousePress, registerSettings, registerSettings, removeDictionaryListener, removeDictionaryListeners, removeLanguage, removeLanguageListener, removeLanguageListeners, removeLanguageUpdater, removeStyleListener, removeToolTip, removeToolTips, removeToolTips, removeToolTips, resetCustomPainter, resetSkin, resetStyleId, saveSettings, setBoldFont, setBoldFont, setCustomPainter, setFontName, setFontSize, setFontSizeAndStyle, setFontSizeAndStyle, setFontStyle, setFontStyle, setItalicFont, setItalicFont, setLanguage, setLanguageUpdater, setMargin, setMargin, setMargin, setMaximumHeight, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumWidth, setPadding, setPadding, setPadding, setPlainFont, setPlainFont, setPreferredHeight, setPreferredSize, setPreferredWidth, setShapeDetectionEnabled, setSkin, setSkin, setStyleId, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, setToolTip, unregisterSettings, updateLanguage, updateLanguage
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, 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, paintComponent, paintImmediately, paintImmediately, paramString, 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
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
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, getAccessibleContext, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final String SPLIT_PANE_PROPERTY
JSplitPane
this divider is attached to.protected transient JSplitPane splitPane
JSplitPane
this divider is used for.protected transient WSplitPaneUI splitPaneUI
WSplitPaneUI
of the JSplitPane
this divider is used for.protected transient WebSplitPaneDivider.MouseHandler mouseHandler
protected transient WebSplitPaneDivider.DragController dragger
protected int dividerSize
protected Component hiddenDivider
protected int orientation
protected WebButton leftButton
protected WebButton rightButton
public WebSplitPaneDivider(JSplitPane splitPane)
WebSplitPaneDivider
.splitPane
- JSplitPane
this divider is attached topublic WebSplitPaneDivider(StyleId id, JSplitPane splitPane)
WebSplitPaneDivider
.id
- StyleId
splitPane
- JSplitPane
this divider is attached to@NotNull public StyleId getDefaultStyleId()
Styleable
StyleId
.
This method is asked when initial component StyleId
have to be provided.getDefaultStyleId
in interface Styleable
StyleId
protected void setSplitPane(JSplitPane splitPane)
JSplitPane
this divider is attached to.splitPane
- JSplitPane
this divider is attached topublic JSplitPane getSplitPane()
JSplitPane
this divider is used for.JSplitPane
this divider is used forpublic WSplitPaneUI getSplitPaneUI()
WSplitPaneUI
of the JSplitPane
this divider is used for.WSplitPaneUI
of the JSplitPane
this divider is used forpublic void setDividerSize(int size)
JSplitPane.HORIZONTAL_SPLIT
and height for JSplitPane.VERTICAL_SPLIT
.size
- new divider sizepublic int getDividerSize()
JSplitPane.HORIZONTAL_SPLIT
and height for JSplitPane.VERTICAL_SPLIT
.public void propertyChange(PropertyChangeEvent e)
propertyChange
in interface PropertyChangeListener
protected void updateOrientationAndCursor()
JSplitPane
orientation and divider cursor.protected void updateOneTouchButtons()
leftButton
and rightButton
if they are null
.
Will update leftButton
and rightButton
decoration states if buttons exist.protected WebButton createLeftOneTouchButton()
WebButton
that can be used to collapse the left component in JSplitPane
.WebButton
that can be used to collapse the left component in JSplitPane
protected WebButton createRightOneTouchButton()
WebButton
that can be used to collapse the right component in JSplitPane
.WebButton
that can be used to collapse the right component in JSplitPane
protected void prepareForDragging()
WSplitPaneUI
with startDragging.protected void dragDividerTo(int location)
WSplitPaneUI
with dragDividerTo that this instance is contained in.location
- new divider locationprotected void finishDraggingTo(int location)
WSplitPaneUI
with finishDraggingTo that this instance is contained in.location
- last divider locationpublic WSplitPaneDividerUI getUI()
WSplitPaneDividerUI
object that renders this componentpublic void setUI(WSplitPaneDividerUI ui)
ui
- WSplitPaneDividerUI
public void updateUI()
updateUI
in class WebComponent<WebSplitPaneDivider,WSplitPaneDividerUI>
@NotNull public String getUIClassID()
getUIClassID
in class WebComponent<WebSplitPaneDivider,WSplitPaneDividerUI>
Copyright © 2020. All rights reserved.