<AWT Dev> Patch for LayoutExtraGaps

Andrei Dmitriev Andrei.Dmitriev at Sun.COM
Tue Jun 23 04:12:39 PDT 2009


thanks for the analysis of this defect.
BTW, it's covered by the CR:
6848458: java/awt/GridLayout/LayoutExtraGaps/LayoutExtraGaps.java fails 
(I can't find it through bugs.sun.com perhaps due to some temporary 
problems with the site)
I like the fix but I'd name parameters not "boarders", but "borders" 
otherwise it sounds like a variable receives some meal in a the method 
scope in return for payment or service of holding the value in it :)

public static boolean areBoardersEqual(double boarder1, double boarder2) {


Man Wong wrote:

> Hi,
>     I was looking over one of the failures for a jtreg test on openjdk and the test case did not make sense to me, which led me to make changes to the test case.
>     First of all, the test was in java/awt/GridLayout/LayoutExtraGaps.java. The test currently under the openjdk I believe was trying to test whether a GridLayout object centre its component properly (based on the message printed by the exception). It tested that by checking if the origin coordinate of the first component (each component is a rectangle, and there are 29 rectangles in a panel and there are 4 panels in the main window) is (0,0). If both x and y are 0 for any of the panels, then the test fails. I also think that the reason why they chose (0,0) as the failing point because base on the values they passed in, x and y cannot both be at (0,0). This is not valid because the error that was output states, "Test failed. GridLayout doesn't center component.", but the components are in fact centred, since all opposite boarders have equal dimension.
>     When I looked at the gui generated, there are boarders between the rectangles and its parent panel. And the boarder changes as the gui window resizes (not sure if that is another problem in java or if it was intentional). Not surprisingly, two of the panels were initialized such that there is no boarder between itself and the rectangles, causing the test to fail. Which the test should not have failed because everything was centred properly.
>     I created a fix to the test case (attached to this email) that checks if the boarder at the right equals the boarder at the left, and if the boarder at the top equals the boarder at the bottom. Instead of checking whether the origin coordinate of the first component is (0,0).  
> Thanks for looking things over, and hope to hear from you soon.
> Man Lung Wong

More information about the awt-dev mailing list