<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