public void run() {
JOptionPane.showMessageDialog(null, "cref", null,
JOptionPane.PLAIN_MESSAGE);
}
});
Timer timer = new Timer();
while (true) {
try {
JButton button = (JButton)getFinder().
find(new ClassMatcher(JButton.class));
// Create a reference, then dispose of its match
ComponentReference existing = getResolver().addComponent(button);
getHierarchy().dispose(SwingUtilities.getWindowAncestor(button));
break;
}
catch(ComponentNotFoundException e) {
getRobot().waitForIdle();
}
if (timer.elapsed() > 10000)
fail("Timed out waiting for transient dialog to show");
}
Frame fa = new MyFrame("A");
Frame fb = new MyFrame("B");
Frame fc = new MyFrame("C");
showWindow(fa);
showWindow(fb);
showWindow(fc);
// find a button, any button will do
JButton button2 = (JButton)getFinder().
find(fa, new ClassMatcher(JButton.class));
timer.reset();
ComponentReference cref = resolver.addComponent(button2);
assertTrue("Maximum reference creation time exceeded, elapsed time="
+ timer.elapsed() + "ms",
timer.elapsed() < MAX_CREATION_TIME);
}