<Swing Dev> Review Request of 8137169 : [macosx] Incorrect minimal heigh of JTabbedPane with more tabs
Avik Niyogi
avik.niyogi at oracle.com
Tue Mar 8 16:21:34 UTC 2016
Hi All,
Please review code changes done as with inputs provided.
http://cr.openjdk.java.net/~aniyogi/8137169/webrev.01/ <http://cr.openjdk.java.net/~aniyogi/8137169/webrev.01/>
Also, albeit the title of issue mentioned is as above, the injection of issue occurs because pane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); is not honoured.
In the new fix as provided, references to base class layout manager is removed in current solution.
With Regards,
Avik Niyogi
> On 02-Mar-2016, at 7:50 pm, Alexander Potochkin <alexander.potochkin at oracle.com> wrote:
>
> Hello Avik
>
> Let me make it clear I don't approve the proposed fix
> and ask you to do additional evaluation.
>
> Every LookAndFeel is different and it doesn't make much sense
> to compare Metal LaF with AquaLaf.
>
> The AquaLaf mimics the native MacOS controls and therefore look quite different from any other Lafs.
>
> The bug you are fixing has the following subject
> "Incorrect minimal heigh of JTabbedPane with more tabs"
>
> Could you please fix exactly the problem with the minimal heights,
> without changing the UI delegate class.
>
> Thanks
> alexp
>
>> Gentle reminder. Please review this fix.
>>
>>> On 26-Feb-2016, at 10:39 am, Avik Niyogi < <mailto:avik.niyogi at oracle.com>avik.niyogi at oracle.com <mailto:avik.niyogi at oracle.com>> wrote:
>>>
>>> The issue is with setting of TabbedPaneScrollLayout() for the option JTabbedPane.SCROLL_TAB_LAYOUT as is enabled in the test code
>>> and not TabbedPaneLayout() as which is the default.
>>>
>>> The minimum size fixes itself because the ScrollLayout check fails in setTabLayoutPolicy() for the pane. So the issue is with the call to set layout manager.
>>> There are only two configurations that the JTabbedPane can exist in of which SCROLL_TAB_LAYOUT is one of them.
>>>
>>> Fixing the minimum size in AquaTabbedPaneUI will fix it for TabbedPaneLayout() only which is the WRAP_TAB_LAYOUT.
>>>
>>> Also, I have checked other implementations such as for Metal and Motif and they have similar code for doing this process.
>>> Hence, with in-depth analysis, this fix has no other impact apart from this fix.
>>>
>>> In case the impact caused by this change has caused some definitive regressions, please mention them so they can be addressed. Thank you.
>>>
>>> With Regards,
>>> Avik Niyogi
>>>
>>>> On 25-Feb-2016, at 6:45 pm, Alexander Potochkin < <mailto:alexander.potochkin at oracle.com>alexander.potochkin at oracle.com <mailto:alexander.potochkin at oracle.com>> wrote:
>>>>
>>>> Hello Avik
>>>>
>>>> AquaTruncatingTabbedPaneLayout has a lot of code which is specific for the AquaTabbedPaneUI.
>>>> I don't think setting the layout manager from the base class is the right solution here.
>>>>
>>>> If there is a problem with minimum size it should be fixed inside the AquaTabbedPaneUI
>>>>
>>>> Thanks
>>>> alexp
>>>>
>>>> On 2/24/2016 12:07, Avik Niyogi wrote:
>>>>> Hi All,
>>>>>
>>>>> Kindly review the bug fix for JDK 9.
>>>>>
>>>>> Bug:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8137169 <https://bugs.openjdk.java.net/browse/JDK-8137169>
>>>>>
>>>>> Webrev:
>>>>>
>>>>> http://cr.openjdk.java.net/~aniyogi/8137169/webrev.00/ <http://cr.openjdk.java.net/%7Eaniyogi/8137169/webrev.00/>
>>>>>
>>>>> Issue:
>>>>> For Aqua Look&Feel, multiple calls to pane.getMinimumSize().height causes incremental return of values.
>>>>>
>>>>> Cause:
>>>>> The impact was caused by a major broken code within AquaTabbedPaneUI.java for createLayoutManager()
>>>>>
>>>>> Fix:
>>>>> Major linking calls to super class fix done within createLayoutManager().
>>>>>
>>>>> With Regards,
>>>>> Avik Niyogi
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20160308/01dd94aa/attachment.html>
More information about the swing-dev
mailing list