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
AJSplitPane
subclass 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 String
PROPERTYNAME_DIVIDER_BORDER_VISIBLE
Holds 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 aUIFSplitPane
configured to arrange the child components side-by-side horizontally with no continuous layout, using two buttons for the components.UIFSplitPane(int newOrientation)
Constructs aUIFSplitPane
configured with the specified orientation and no continuous layout.UIFSplitPane(int newOrientation, boolean newContinuousLayout)
Constructs aUIFSplitPane
with the specified orientation and redrawing style.UIFSplitPane(int orientation, boolean continuousLayout, Component leftComponent, Component rightComponent)
Constructs aUIFSplitPane
with the specified orientation, redrawing style, and given components.UIFSplitPane(int orientation, Component leftComponent, Component rightComponent)
Constructs aUIFSplitPane
with the specified orientation and the given componenents.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static UIFSplitPane
createStrippedSplitPane(int orientation, Component leftComponent, Component rightComponent)
Constructs aUIFSplitPane
, i.e. aJSplitPane
that has no borders.boolean
isDividerBorderVisible()
Checks and answers whether the divider border shall be visible or invisible.void
setDividerBorderVisible(boolean newVisibility)
Makes the divider border visible or invisible.void
updateUI()
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 aUIFSplitPane
configured 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 aUIFSplitPane
configured with the specified orientation and no continuous layout.- Parameters:
newOrientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
- Throws:
IllegalArgumentException
- iforientation
is not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT.
-
UIFSplitPane
public UIFSplitPane(int newOrientation, boolean newContinuousLayout)
Constructs aUIFSplitPane
with the specified orientation and redrawing style.- Parameters:
newOrientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
newContinuousLayout
- 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
- iforientation
is not one of HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
UIFSplitPane
public UIFSplitPane(int orientation, Component leftComponent, Component rightComponent)
Constructs aUIFSplitPane
with the specified orientation and the given componenents.- Parameters:
orientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
leftComponent
- theComponent
that will appear on the left of a horizontally-split pane, or at the top of a vertically-split panerightComponent
- theComponent
that will appear on the right of a horizontally-split pane, or at the bottom of a vertically-split pane- Throws:
IllegalArgumentException
- iforientation
is not one of: HORIZONTAL_SPLIT or VERTICAL_SPLIT
-
UIFSplitPane
public UIFSplitPane(int orientation, boolean continuousLayout, Component leftComponent, Component rightComponent)
Constructs aUIFSplitPane
with the specified orientation, redrawing style, and given components.- Parameters:
orientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
continuousLayout
- 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
- theComponent
that will appear on the left of a horizontally-split pane, or at the top of a vertically-split panerightComponent
- theComponent
that will appear on the right of a horizontally-split pane, or at the bottom of a vertically-split pane- Throws:
IllegalArgumentException
- iforientation
is 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. aJSplitPane
that has no borders. Also disabled the one touch exandable property.- Parameters:
orientation
-JSplitPane.HORIZONTAL_SPLIT
orJSplitPane.VERTICAL_SPLIT
leftComponent
- theComponent
that will appear on the left of a horizontally-split pane, or at the top of a vertically-split panerightComponent
- theComponent
that 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
- iforientation
is 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:
updateUI
in classJSplitPane
-
-