Package org.nuiton.jaxx.widgets.extra
Class UIFSplitPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JSplitPane
-
- org.nuiton.jaxx.widgets.extra.UIFSplitPane
-
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
public final class UIFSplitPane extends JSplitPane
AJSplitPanesubclass that can try to remove the divider border. Useful if the splitted components render their own borders. Note that this feature is not supported by all look&feels. Some look&feel implementation will always show a divider border, and conversely, others will never show a divider border.- Version:
- $Revision$
- Author:
- Karsten Lentzsch
- See Also:
BasicSplitPaneUI, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JSplitPane
JSplitPane.AccessibleJSplitPane
-
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
Fields Modifier and Type Field Description static StringPROPERTYNAME_DIVIDER_BORDER_VISIBLEHolds the name of the bound property that tries to show or hide the split pane's divider border.-
Fields inherited from class javax.swing.JSplitPane
BOTTOM, CONTINUOUS_LAYOUT_PROPERTY, continuousLayout, DIVIDER, DIVIDER_LOCATION_PROPERTY, DIVIDER_SIZE_PROPERTY, dividerSize, HORIZONTAL_SPLIT, LAST_DIVIDER_LOCATION_PROPERTY, lastDividerLocation, LEFT, leftComponent, ONE_TOUCH_EXPANDABLE_PROPERTY, oneTouchExpandable, orientation, ORIENTATION_PROPERTY, RESIZE_WEIGHT_PROPERTY, RIGHT, rightComponent, TOP, VERTICAL_SPLIT
-
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
Constructors Constructor Description UIFSplitPane()Constructs aUIFSplitPaneconfigured to arrange the child components side-by-side horizontally with no continuous layout, using two buttons for the components.UIFSplitPane(int newOrientation)Constructs aUIFSplitPaneconfigured with the specified orientation and no continuous layout.UIFSplitPane(int newOrientation, boolean newContinuousLayout)Constructs aUIFSplitPanewith the specified orientation and redrawing style.UIFSplitPane(int orientation, boolean continuousLayout, Component leftComponent, Component rightComponent)Constructs aUIFSplitPanewith the specified orientation, redrawing style, and given components.UIFSplitPane(int orientation, Component leftComponent, Component rightComponent)Constructs aUIFSplitPanewith the specified orientation and the given componenents.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static UIFSplitPanecreateStrippedSplitPane(int orientation, Component leftComponent, Component rightComponent)Constructs aUIFSplitPane, i.e. aJSplitPanethat has no borders.booleanisDividerBorderVisible()Checks and answers whether the divider border shall be visible or invisible.voidsetDividerBorderVisible(boolean newVisibility)Makes the divider border visible or invisible.voidupdateUI()Updates the UI and sets an empty divider border.-
Methods inherited from class javax.swing.JSplitPane
addImpl, getAccessibleContext, getBottomComponent, getDividerLocation, getDividerSize, getLastDividerLocation, getLeftComponent, getMaximumDividerLocation, getMinimumDividerLocation, getOrientation, getResizeWeight, getRightComponent, getTopComponent, getUI, getUIClassID, isContinuousLayout, isOneTouchExpandable, isValidateRoot, paintChildren, paramString, remove, remove, removeAll, resetToPreferredSizes, setBottomComponent, setContinuousLayout, setDividerLocation, setDividerLocation, setDividerSize, setLastDividerLocation, setLeftComponent, setOneTouchExpandable, setOrientation, setResizeWeight, setRightComponent, setTopComponent, 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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, 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, paint, paintBorder, paintComponent, 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, 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, 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 Detail
-
PROPERTYNAME_DIVIDER_BORDER_VISIBLE
public static final String PROPERTYNAME_DIVIDER_BORDER_VISIBLE
Holds the name of the bound property that tries to show or hide the split pane's divider border.
-
-
Constructor Detail
-
UIFSplitPane
public UIFSplitPane()
Constructs aUIFSplitPaneconfigured to arrange the child components side-by-side horizontally with no continuous layout, using two buttons for the components.
-
UIFSplitPane
public UIFSplitPane(int newOrientation)
Constructs aUIFSplitPaneconfigured with the specified orientation and no continuous layout.- Parameters:
newOrientation-JSplitPane.HORIZONTAL_SPLITorJSplitPane.VERTICAL_SPLIT- Throws:
IllegalArgumentException- iforientationis not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT.
-
UIFSplitPane
public UIFSplitPane(int newOrientation, boolean newContinuousLayout)Constructs aUIFSplitPanewith the specified orientation and redrawing style.- Parameters:
newOrientation-JSplitPane.HORIZONTAL_SPLITorJSplitPane.VERTICAL_SPLITnewContinuousLayout- a boolean, true for the components to redraw continuously as the divider changes position, false to wait until the divider position stops changing to redraw- Throws:
IllegalArgumentException- iforientationis not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
UIFSplitPane
public UIFSplitPane(int orientation, Component leftComponent, Component rightComponent)Constructs aUIFSplitPanewith the specified orientation and the given componenents.- Parameters:
orientation-JSplitPane.HORIZONTAL_SPLITorJSplitPane.VERTICAL_SPLITleftComponent- theComponentthat will appear on the left of a horizontally-split pane, or at the top of a vertically-split panerightComponent- theComponentthat will appear on the right of a horizontally-split pane, or at the bottom of a vertically-split pane- Throws:
IllegalArgumentException- iforientationis not one of: HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
UIFSplitPane
public UIFSplitPane(int orientation, boolean continuousLayout, Component leftComponent, Component rightComponent)Constructs aUIFSplitPanewith the specified orientation, redrawing style, and given components.- Parameters:
orientation-JSplitPane.HORIZONTAL_SPLITorJSplitPane.VERTICAL_SPLITcontinuousLayout- a boolean, true for the components to redraw continuously as the divider changes position, false to wait until the divider position stops changing to redrawleftComponent- theComponentthat will appear on the left of a horizontally-split pane, or at the top of a vertically-split panerightComponent- theComponentthat will appear on the right of a horizontally-split pane, or at the bottom of a vertically-split pane- Throws:
IllegalArgumentException- iforientationis not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
-
Method Detail
-
createStrippedSplitPane
public static UIFSplitPane createStrippedSplitPane(int orientation, Component leftComponent, Component rightComponent)
Constructs aUIFSplitPane, i.e. aJSplitPanethat has no borders. Also disabled the one touch exandable property.- Parameters:
orientation-JSplitPane.HORIZONTAL_SPLITorJSplitPane.VERTICAL_SPLITleftComponent- theComponentthat will appear on the left of a horizontally-split pane, or at the top of a vertically-split panerightComponent- theComponentthat will appear on the right of a horizontally-split pane, or at the bottom of a vertically-split pane- Returns:
- the constructed splitepane
- Throws:
IllegalArgumentException- iforientationis not one of: HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
isDividerBorderVisible
public boolean isDividerBorderVisible()
Checks and answers whether the divider border shall be visible or invisible. Note that this feature is not supported by all look&feels. Some look&feel implementation will always show a divider border, and conversely, others will never show a divider border.- Returns:
- the desired (but potentially inaccurate) divider border visiblity
-
setDividerBorderVisible
public void setDividerBorderVisible(boolean newVisibility)
Makes the divider border visible or invisible. Note that this feature is not supported by all look&feels. Some look&feel implementation will always show a divider border, and conversely, others will never show a divider border.- Parameters:
newVisibility- true for visible, false for invisible
-
updateUI
public void updateUI()
Updates the UI and sets an empty divider border. The divider border may be restored by a L&F at UI installation time. And so, we try to reset it each time the UI is changed.- Overrides:
updateUIin classJSplitPane
-
-