Other |
---|
tbdUnresolved |
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Relates :
|
The current CONSTRAINED_RESIZE_POLICY has a number of issues, resulting in a number of bugs: 1. generally ignores preferred column widths JDK-8091269 2. unexpectedly displays horizontal scroll bar when the minimum width is set, despite a recent fix by JDK-8089009 (the expected behavior is never to show the HSB, clipping the columns, similar to JTable) 3. fails to resize when the tree/table is empty JDK-8137244, JDK-8130747 4. fails to resize when the user adjusts columns manually 5. exhibits weird behavior when a minimum width is set and the horizontal scrolling is involved JDK-8089456 6. resizing a column for which min and max widths are set to the same value produces unexpected behavior 7. Tree/TableView.CONSTRAINED_RESIZE_POLICY is static, which means .isFirstRun field is a singleton! (this must be JDK-8088010) More importantly, the current design makes it impossible for developers to implement their own version of a column resize policy because of: 1. Tree/TableView.contentWidth is private 2. TableColumnBase.doSetWidth() is package protected 3. TableHeader tests for == CONSTRAINED_RESIZE_POLICY (lines 684, 779) or, put in other words, it is simply impossible to communicate to the Tree/TableView that a particular (custom) resize policy is a constrained one.