--- old/test/java/awt/GridLayout/LayoutExtraGaps/LayoutExtraGaps.java 2017-09-20 17:38:51.633207964 +0530 +++ new/test/java/awt/GridLayout/LayoutExtraGaps/LayoutExtraGaps.java 2017-09-20 17:38:51.437109964 +0530 @@ -27,15 +27,19 @@ @bug 4370316 @summary GridLayout does not centre its component properly (summary was GridLayout does not fill its Container) - @library ../../regtesthelpers - @build Util @author Andrei Dmitriev : area=awt.layout @run main LayoutExtraGaps */ -import java.awt.*; -import java.awt.event.*; -import test.java.awt.regtesthelpers.Util; + +import java.awt.Frame; +import java.awt.Panel; +import java.awt.GridLayout; +import java.awt.Color; +import java.awt.Label; +import java.awt.Component; +import java.awt.ComponentOrientation; +import java.awt.Rectangle; public class LayoutExtraGaps extends Frame { final static int compCount = 30; @@ -91,7 +95,7 @@ setSize((int)getPreferredSize().getWidth() + 50, (int)getPreferredSize().getHeight() + 50); setVisible(true); - Util.waitForIdle(Util.createRobot()); + blockTillDisplayed(); if (isComponentCentredLTR(yellowPanel) && isComponentCentredLTR(bluePanel) && isComponentCentredLTR(blackPanel) && isComponentCentredRTL(redPanel)) @@ -100,8 +104,23 @@ } else { throw new RuntimeException("Test failed. GridLayout doesn't center component."); } + + setVisible(false); + dispose(); } + void blockTillDisplayed() { + while (isVisible() == false) { + try { + Thread.sleep(100); + } catch (InterruptedException e) { + e.printStackTrace(); + setVisible(false); + dispose(); + throw new RuntimeException("Test failed."); + } + } + } /** * Checks if the components under Panel p are properly centred (i.e. * opposite borders between the Panel and component are equal). Panel p