Java: Swing: LookAndFeel: JSplitPane
(XXXSplitPaneUI, XXXSplitPaneDivider)
Version | JSplitPane | SplitPaneUI | Basic | Metal | Motif | Windows |
|---|---|---|---|---|---|---|
1.3.0_01 | 62 | 13 | 59, 38 | 6, 14 | 12, 14 | 11, 12 |
1.3.1_00, _01 | 65 | 14 | 61, 39 | 7, 15 | 13, 15 | 11?, 12? |
1.4.0a,b,c | 68 | 13 | 67, 44 | 7, 16 | 12, 14 | 11, 12 |
1.4.0rc1, 1.4.0 | 69=68 | 14 | 68, 45 | 8, 17 | 13, 15 | 12. 13 |
1.4.1a,rc, 1.4.1 | 69=68 | 14 | 72, 45 | 8, 17 | 13, 15 | 12, 13 |
1.4.2 | 70=68 | 15 | 73, 46 | 9, 18 | 14, 16 | 13, 14 |
1.4.2_01, 1.4.2_07 | ||||||
1.5.0a | 75 | 15 | 78, 51 | 9, 20 | 14, 16 | 13, 14 |
1.5.0b,c | 76 | 16 | ||||
1.5.0_00,_01,_02 | 76 | 16 |
1.65: default component text's from UIManager (rather silly)
1.68=1.69=1.70: documentation; serialization
1.75: UI properties (opaque, dividerSize, oneTouchExpandable); currentAccessibleValue Number fixed; removed SwingGraphics (no change in functionality)
not changed
1.61
keepHidden argument for distributeSpace
1.67=1.68
set LookAndFeel colors
focus stuff
weird new stuff with the heavyweight divider, removed old weird stuff with the heavyweight divider
fixed ActionMap bug
removed workaround for 1.3 LightweightDispatcher bug
documentation
1.72=1.73
focusTraversalKeys, new focus actions, more focus stuff
paint pushes divider location (only first time)
fixed bug in updateComponents that would cause huge divider (would it?)
changed getMinimumSizes() to actually use the minimum width of the divider (instead of its current size) - does not really matter since the default dividers are fixed size - but does not look utterly correct
1.78
draggingColor instead of hardCoded darkGray
UIProperties: opaque, dividerSize
keepHidden property (but only accessible for BasicSplitPaneDivider?)
Actions implementation, Handler instead of PropertyChange/FocusListener
removed deprecated actions
removed silly BasicVerticalLayoutManager
change of the focus implementation?
documentation
1.38=1.39
1.44=1.45=1.46
permanent Cursor on divider; removed silly dynamic setCursor in mouseMoved
changed getMinimum/PreferredSize (1 pixel in the secondary direction instead of square) - not clear why not in LayoutManager; LayoutManager now has (unused) implementation for minimum/preferredLayoutSize
one-touch buttons: blockSize differently; minimum size; request focus disabled
one-touch button layout and painting logic uses width/height instead of fixed dividerSize; layout protects against unterflow
fixed off-by-one (??) in DragController (but not in VerticalDragController)
documentation
1.51: changes
All (MetalSplitPaneUI, MotifSplitPaneUI, WindowsSplitPaneUI) always just create their custom divider and have no version changes.
paint (background, bumps); own one-touch buttons with different painting; different layout which places the buttons differently
1.16: set request focus disabled on buttons (analogous to BasicSplitPaneDivider 1.44)
1.20:
focusColor from UIManager (2x) instead of hard-coded (but still many hard-coded colors)
removed use of MetalDividerLayout (its work is now (since BasicSplitPaneDivider 1.51) done in BasicSplitPaneDivider)
buttons only paint background iff opaque; whether opaque is taken from UIManager
no version changes at all
thumb, paint etc., broken Cursor
no version changes at all
paint: paints background (differently if focused)
class JSplitPane
extends JComponent
{
orientation: int -- HORIZONTAL_SPLIT or VERTICAL_SPLIT
setOrientation(value: int) -- requires valid(value)
leftComponent: Component/null
setLeftComponent(value: Component/null)
rightComponent: Component/null
setRightComponent(value: Component/null)
topComponent: Component/null
setTopComponent(value: Component/null)
bottomComponent: Component/null
setBottomComponent(value: Component/null)
dividerSize: int
setDividerSize(value: int)
isOneTouchExpandable: boolean
setOneTouchExpandable(value: boolean)
isContinuousLayout: boolean -- grammar?
setContinuousLayout(value: boolean)
resizeWeight: double
setResizeWeight(value: double)
requires 0 <= value <= 1
dividerLocation: int
lastDividerLocation: int
minimumDividerLocation: int -- from UI
maximumDividerLocation: int -- from UI
setDividerLocation(value: int) -- to UI
setDividerLocation(value: double) -- incorrect insets treatment
requires 0 <= value <= 1
setLastDividerLocation(value: int) -- called from setDividerLocation
resetToPreferredSizes -- to UI
redefined
isValidateRoot: boolean -- true
internal redefined
addImpl(c: Component, constraints: Object/null, index: int)
remove(c: Component)
remove(index: int)
removeAll
paintChildren(g: Graphics) -- to UI
accessibleContext: AccessibleContext/null
}
class SplitPaneUI
extends ComponentUI
{
resetToPreferredSizes(host: JSplitPane)
dividerLocation(host: JSplitPane): int
minimumDividerLocation(host: JSplitPane): int
maximumDividerLocation(host: JSplitPane): int
setDividerLocation(host: JSplitPane, value: int);
finishedPaintingChildren(host: JSplitPane, g: Graphics);
}
(C) 2001-2009 Christian Kaufhold (swing@chka.de)