<Swing Dev> [10] RFR: JDK-8075918:The regression-swing case failed as the long Tab titles are not clipped with dots at the end with NimbusLookAndFeel

Sergey Bylokhov sergey.bylokhov at oracle.com
Sun May 28 02:31:31 UTC 2017


Note that you shouldn't replace the clip, but should apply the new clip on top of the old. This is necessary if the old clip is smaller than new.

----- sergey.bylokhov at oracle.com wrote:

> Hi, Prasanta.
> 
> BasicTabbedPaneUI.paintIcon() as well as
> SynthGraphicsUtils.paintText() are called in SynthTabbedPaneUI.
>  - paintText() at line 681
>  - paintIcon() at line 634
> Both methods have a rectangle as a parameter, but it is ignored.
> 
> ----- prasanta.sadhukhan at oracle.com wrote:
> 
> > Hi Sergey,
> > 
> > I could get your concern for paintText() but could not find
> > paintIcon() 
> > in SynthGraphicsUtils() so not sure how icon drawing contradicts
> > spec.
> > Modified webrev:
> > http://cr.openjdk.java.net/~psadhukhan/8075918/webrev.01/
> > 
> > Also, if we are not calling SwingUtilities2.clipStringIfNecessary()
> > then 
> > we are not going to get "..." at the end which this test expects.
> But
> > I 
> > could not find anything in spec, that mandates ending with "..." for
> 
> > long tab outside
> > tab bounds. If source change is ok, I guess we then need to modify
> the
> > 
> > html file modifying the expected result for NimbusL&F.
> > 
> > Regards
> > Prasanta
> > On 5/25/2017 3:11 AM, Sergey Bylokhov wrote:
> > > Hi, Prasanta.
> > > Please take a look to my comments at:
> > >
> >
> http://mail.openjdk.java.net/pipermail/swing-dev/2016-November/006931.html
> > >
> >
> http://mail.openjdk.java.net/pipermail/swing-dev/2016-November/006902.html
> > >
> > > The two methods paintText() and paintIcon() are contradict the
> spec
> > and draw the text and icons outside of the tab.
> > >
> > > ----- prasanta.sadhukhan at oracle.com wrote:
> > >
> > >> Hi All,
> > >>
> > >> Please review a fix for an issue where long Tab titiles are not
> > >> clipped
> > >> with dots at end for NimbusLookAndFeel L&F.
> > >> Other L&Fs works ok.
> > >>
> > >> Issue was in SynthTabbedPaneUI#paintTab(), the title is not
> > clipped
> > >> but
> > >> passed to paintText() as it is received.
> > >> Other L&F such as Metal, Motif, Windows which uses
> > >> BasicTabbedPaneUI#paintTab(), the title is clipped
> > >>
> >
> http://hg.openjdk.java.net/jdk9/client/jdk/file/e748c6a2d2e6/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java#l950
> > >> before it is passed to paintText().
> > >>
> > >> Proposed fix is to do the same for SynthTabbedPaneUI#paintTab().
> > >>
> > >> Bug: https://bugs.openjdk.java.net/browse/JDK-8075918
> > >> webrev:
> http://cr.openjdk.java.net/~psadhukhan/8075918/webrev.00/
> > >>
> > >> Regards
> > >> Prasanta



More information about the swing-dev mailing list