[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] FYI: JSplitPane fixes
From: |
Roman Kennke |
Subject: |
[cp-patches] FYI: JSplitPane fixes |
Date: |
Sat, 21 Jan 2006 22:53:06 +0000 |
This fixes a couple of issues with the JSplitPane. Namely the issues
addressed are:
- dividerLocation property not respected when SplitPane comes up.
- minimumSize of components in SplitPane not respected when dragging.
- the whole split pane was active as dragging sensible are for the divider
- wrong border set on divider
- general layout problems in the layout manager
- performance problems when dragging
These should be somewhat solved. However, the JSplitPane is still shaky
and needs some love.
2006-01-21 Roman Kennke <address@hidden>
PR classpath/25843:
* javax/swing/plaf/basic/BasicBorders.java
(getSplitPaneDividerBorder): Use new border constructor
without arguments.
(SplitPaneDividerBorder.highlight): Removed unneeded field.
(SplitPaneDividerBorder.shadow): Removed unneeded field.
(SplitPaneDividerBorder()): Changed constructor to do nothing. The
colors are fetched dynamically in the paintBorder method.
(SplitPaneDividerBorder.paintBorder): Fetch colors dynamically from
the look and feel.
(SplitPaneDividerBorder.isBorderOpaque): Returns true
unconditionally.
* javax/swing/plaf/basic/BasicLookAndFeel.java
(initComponentDefaults): Added default for SplitPaneDivider.border.
* javax/swing/plaf/basic/BasicSplitPaneDivider.java
(tmpBorder): Removed unneeded inner class.
(BasicSplitPaneDivider): Removed setting of border.
(setSplitPaneUI): Don't add the mouse handler to the splitpane
itself.
* javax/swing/plaf/basic/BasicSplitPaneUI.java
(BasicHorizontalLayoutManager.layoutContainer): Mostly rewritten
to get behaviour right.
(BasicHorizontalLayoutManager.distributeExtraSpace): Removed
implementation. This must be rewritten since the layout now works
slightly different (basically, it shouldn't modify the sizes[]
here but instead the dividerLocation.
(dividerLocation): New field.
(installDefaults): Initialize border on divider.
(uninstallDefaults): Only remove background color and border from
splitPane if they are instances of UIDefaults (== not set by
application).
(setDividerLocation): Set the dividerLocation field instead of
doing stunt acts here.
(getDividerLocation): Return dividerLocation field.
(getMinimumDividerLocation): Fixed calculation of minimum location.
/Roman
patch.diff
Description: Text Data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [cp-patches] FYI: JSplitPane fixes,
Roman Kennke <=