<Swing Dev> [11] JDK-8190347: [TESTBUG] Test javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java fails

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Thu Feb 22 15:28:49 UTC 2018


ok. thanks for t he clarification. One point however, in spec it is 
mentioned to use "As of v1.3, it is recommended that developers call 
|Component.AccessibleAWTComponent.getAccessibleChild()| instead of this"

getAccessibleChild(JComponent  c,
                                      int i)

Regards
Prasanta
On 2/22/2018 8:36 PM, Pankaj Bansal wrote:
>
> Hi Prasanta,
>
> Thanks for the review.
>
> <<I guess you mentioned that we cannot fix completely for scaleFactor 
> > 2. Does this fix cater to those scaleFactors too?
>
> This fix is not specific to any particular scale factor. I have just 
> modified it to work independent of the fact popup is created above or 
> below. This change is independent of any HiDPI settings. Using HiDPi 
> scale >= 2 is just one of reproducing this issue. It can be reproduced 
> altering the window size, changing number of items in popUp etc. 
> basically the test case should not assume that popup will be opaque 
> always when there are scenarios, when it won’t be opaque.
>
> << If not, I think it should be alright to restrict the testcase to 
> run with uiScale=1.0 as it is not testing any hidpi feature.
> I found this issue while working on a bug 
> https://bugs.openjdk.java.net/browse/JDK-8164811, which involves using 
> translucent components with HiDPI screens and that issue was found 
> because of this test case only. So I think this test case is supposed 
> to work well on HiDPI screens. All the test cases in the same folder 
> are run on 1.5 scale by default.
>
> Regards,
>
> Pankaj Bansal
>
> *From:*Prasanta Sadhukhan
> *Sent:* Thursday, February 22, 2018 8:14 PM
> *To:* Jayathirth D V; Pankaj Bansal; swing-dev at openjdk.java.net; 
> Sergey Bylokhov
> *Subject:* Re: <Swing Dev> [11] JDK-8190347: [TESTBUG] Test 
> javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java 
> fails
>
> Hi Pankaj,
>
> I guess you mentioned that we cannot fix completely for scaleFactor > 
> 2. Does this fix cater to those scaleFactors too? If not, I think it 
> should be alright to restrict the testcase to run with uiScale=1.0 as 
> it is not testing any hidpi feature.
>
> Regards
> Prasanta
>
> On 2/22/2018 7:56 PM, Jayathirth D V wrote:
>
>     Hi Pankaj,
>
>     Copyright year should contain only the initial creation year and
>     latest year in which the change is made. So you should replace
>     2016 with 2018. No need for another webrev you can make that
>     change while pushing.
>
>     Other changes present in webrev.01 over webrev.00 is fine.
>
>     Please wait for more inputs from others before pushing the change.
>
>     Thanks,
>
>     Jay
>
>     *From:* Pankaj Bansal
>     *Sent:* Thursday, February 22, 2018 7:39 PM
>     *To:* Jayathirth D V; swing-dev at openjdk.java.net
>     <mailto:swing-dev at openjdk.java.net>; Sergey Bylokhov; Prasanta
>     Sadhukhan
>     *Subject:* RE: <Swing Dev> [11] JDK-8190347: [TESTBUG] Test
>     javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java
>     fails
>
>     Hello Jay,
>
>     Thanks for the review.
>
>     << We need to update Copyright year, add new bug id in jtreg
>     comment & it’s better to keep jtreg comments before code for
>     program starts like import statements.
>
>     Done.
>
>     Webrev
>
>     http://cr.openjdk.java.net/~pbansal/8190347/webrev.01/
>     <http://cr.openjdk.java.net/%7Epbansal/8190347/webrev.01/>
>
>     << I think any one condition out of
>     “(popup.getLocationOnScreen().y > ls.y”    &  “window.getHeight()
>     < popup.getHeight() + south.getHeight()” would be enough to verify
>     if popup.y <<exceeds window.y or not.
>
>     No, it will not work. “popup.getLocationOnScreen().y > ls.y” is
>     required to find whether the popup is created above or below the
>     JComboBox.
>
>     If it is below, raise exception as color conditions should have
>     passed and this is an issue
>
>     If it is above, then we further need to verify, if it will fit
>     inside the window or not. If it does not fit, then popup will be
>     opaque and raise exception as color test should have passed.
>
>     Here we are trying to be sure that when the test has failed, it
>     was not because of the reason that popup was translucent. In case
>     of translucent popup, the color test will not pass and exception
>     should not be thrown as it is expected.
>
>     <<Also I remember we discussed on call that if possible we can
>     keep the main window starting at y = 0, so that we have enough
>     space below the window giving test more chance to <<execute properly.
>
>     All that was required assuming that we can’t find if the popup is
>     created below or above the JComboBox. But I was able to find that
>     using the popup and JComboBox location and this change is no
>     longer needed.
>
>     Regards,
>
>     Pankaj Bansal
>
>     *From:* Jayathirth D V
>     *Sent:* Thursday, February 22, 2018 6:26 PM
>     *To:* Pankaj Bansal; swing-dev at openjdk.java.net
>     <mailto:swing-dev at openjdk.java.net>; Sergey Bylokhov; Prasanta
>     Sadhukhan
>     *Subject:* RE: <Swing Dev> [11] JDK-8190347: [TESTBUG] Test
>     javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java
>     fails
>
>     Hi Pankaj,
>
>     Please find my input:
>
>     We need to update Copyright year, add new bug id in jtreg comment
>     & it’s better to keep jtreg comments before code for program
>     starts like import statements.
>
>     I think any one condition out of “(popup.getLocationOnScreen().y >
>     ls.y”    &    “window.getHeight() < popup.getHeight() +
>     south.getHeight()” would be enough to verify if popup.y exceeds
>     window.y or not.
>
>     Also I remember we discussed on call that if possible we can keep
>     the main window starting at y = 0, so that we have enough space
>     below the window giving test more chance to execute properly.
>
>     Thanks,
>
>     Jay
>
>     *From:* Pankaj Bansal
>     *Sent:* Thursday, February 22, 2018 5:34 PM
>     *To:* swing-dev at openjdk.java.net
>     <mailto:swing-dev at openjdk.java.net>; Sergey Bylokhov; Prasanta
>     Sadhukhan
>     *Subject:* <Swing Dev> [11] JDK-8190347: [TESTBUG] Test
>     javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java
>     fails
>
>     Hi All,
>
>     Please review the test only fix for JDK 11.
>
>     Bug:
>
>     https://bugs.openjdk.java.net/browse/JDK-8190347
>
>     webrev:
>
>     http://cr.openjdk.java.net/~pbansal/8190347/webrev.00/
>     <http://cr.openjdk.java.net/%7Epbansal/8190347/webrev.00/>
>
>     Issue:
>
>     The test TranslucentJComboBox creates a Translucent JWindow and
>     then adds a JComboBox at the bottom. Then a popup is created when
>     clicked on JComboBox. The test always checks the popup for
>     opaqueness whether it is created below or above the JComboBox. If
>     it is created below the JComboBox, it will be opaque.  If it is
>     created above the JComboBox and it does not fit within the JWindow
>     containing JComboBox, it will be opaque.
>
>     But in some scenarios, the Popup is created above the JComboBox
>     and it can fit within the JWindow. In this case, it be translucent
>     and the test will fail. The test needs to consider these scenarios.
>
>     One of the scenario to reproduce this is to run this test on a
>     1920X1080 screen with HiDPI value 2.0. The popup will be created
>     above and it will fit within the JWindow of size 500X500. The test
>     fails.
>
>     Fix:
>
>     Made changes to check if the popup is created below or above the
>     JComboBox when the color values don’t pass the conditions. If it
>     is created below or if it is created above and If it does not fit,
>     through the exception else ignore.
>
>     Regards,
>
>     Pankaj Bansal
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20180222/6761f4af/attachment.html>


More information about the swing-dev mailing list