<Swing Dev> Review Request of 8137169 : [macosx] Incorrect minimal heigh of JTabbedPane with more tabs
Alexander Scherbatiy
alexandr.scherbatiy at oracle.com
Wed Mar 16 11:21:05 UTC 2016
Does the same issue affects the AquaTabbedPaneContrastUI?
Thanks,
Alexandr.
On 14/03/16 09:04, Avik Niyogi wrote:
> Hi All,
> A gentle reminder, please review code changes.
>
> With Regards,
> Avik Niyogi
>> On 08-Mar-2016, at 9:51 pm, Avik Niyogi <avik.niyogi at oracle.com
>> <mailto:avik.niyogi at oracle.com>> wrote:
>>
>> 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/%7Eaniyogi/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
>>> <mailto: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 <avik.niyogi at oracle.com>
>>>>> wrote:
>>>>>
>>>>> The issue is with setting of TabbedPane*Scroll*Layout() 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
>>>>>> <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
>>>>>>>
>>>>>>> *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/20160316/d0043df4/attachment.html>
More information about the swing-dev
mailing list