RFR: 6510914: JScrollBar.getMinimumSize() breaks the contract of JComponent.setMinimumSize()
Alexander Zvegintsev
azvegint at openjdk.org
Thu Aug 17 19:52:29 UTC 2023
On Thu, 17 Aug 2023 15:22:12 GMT, Alexey Ivanov <aivanov 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..
>
> test/jdk/javax/swing/JScrollBar/JScrollBarMinSizeTest.java line 43:
>
>> 41: bar.setMinimumSize(new Dimension(75, 0));
>> 42: dim = bar.getMinimumSize();
>> 43: });
>
> In this case, it is safe to call these methods on the main thread.
The test can also be made headless.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15325#discussion_r1297406897
More information about the client-libs-dev
mailing list