RFR: 6510914: JScrollBar.getMinimumSize() breaks the contract of JComponent.setMinimumSize() [v2]
Prasanta Sadhukhan
psadhukhan at openjdk.org
Wed Sep 27 04:54:20 UTC 2023
On Thu, 24 Aug 2023 07:46:07 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>> javadoc contract for JComponent.setMinimumSize(Dimension) states:
>>
>> "Sets the minimum size of this component to a constant value. Subsequent calls to getMinimumSize will always return this value..."
>>
>> However, JScrollBar overrides getMinimumSize() and breaks this contract - it always returns a minimum size derived from the preferred size even if you have previously called setMinimumSize()
>>
>> Fix is made to check if mnimumSize is set and if so, honour it..
>
> Prasanta Sadhukhan has updated the pull request incrementally with two additional commits since the last revision:
>
> - copyright year
> - Fix maximumSize, test
I dont see any visual change with this fix and it solves `get/setMinimumSize` contract.
However,
I think the suggestion is to update the javadoc for JScrollBar but it does not have `setMinimumSize/setMaximumSize` method which has the contract in `JComponent.setMinimumSize/setMaximumSize`
" Subsequent calls to getMaximumSize will always return this value;"
so not sure where to update the spec..in the JScrollBar class top summary or in `getMinimumSize/getMaximumSize` but since the contract is in set method, not sure if it will be considered if updated in get methods..
@aivanov-jdk @prrace Please provide your opinion..
-------------
PR Comment: https://git.openjdk.org/jdk/pull/15325#issuecomment-1736698607
More information about the client-libs-dev
mailing list