@@ -47,42 +47,49 @@ public class bug8021253 {
47
47
private static volatile boolean defaultKeyPressed ;
48
48
private static JFileChooser fileChooser ;
49
49
private static File file ;
50
+ private static JFrame frame ;
50
51
51
52
public static void main (String [] args ) throws Exception {
53
+ try {
54
+ Robot robot = new Robot ();
55
+ robot .setAutoDelay (100 );
52
56
53
- Robot robot = new Robot ();
54
- robot .setAutoDelay (50 );
55
-
56
- SwingUtilities .invokeAndWait (new Runnable () {
57
- public void run () {
58
- createAndShowGUI ();
59
- }
60
- });
57
+ SwingUtilities .invokeAndWait (new Runnable () {
58
+ public void run () {
59
+ createAndShowGUI ();
60
+ }
61
+ });
61
62
62
- robot .waitForIdle ();
63
+ robot .waitForIdle ();
64
+ robot .delay (1000 );
63
65
64
- SwingUtilities .invokeAndWait (new Runnable () {
65
- public void run () {
66
- fileChooser .setSelectedFile (file );
67
- }
68
- });
66
+ SwingUtilities .invokeAndWait (new Runnable () {
67
+ public void run () {
68
+ fileChooser .setSelectedFile (file );
69
+ }
70
+ });
69
71
70
- robot .waitForIdle ();
72
+ robot .waitForIdle ();
71
73
72
- robot .keyPress (KeyEvent .VK_ENTER );
73
- robot .keyRelease (KeyEvent .VK_ENTER );
74
- robot .waitForIdle ();
74
+ robot .keyPress (KeyEvent .VK_ENTER );
75
+ robot .keyRelease (KeyEvent .VK_ENTER );
76
+ robot .waitForIdle ();
75
77
76
- if (!defaultKeyPressed ) {
77
- throw new RuntimeException ("Default button is not pressed" );
78
+ if (!defaultKeyPressed ) {
79
+ throw new RuntimeException ("Default button is not pressed" );
80
+ }
81
+ } finally {
82
+ if (frame != null ) {
83
+ SwingUtilities .invokeAndWait (frame ::dispose );
84
+ }
78
85
}
79
86
}
80
87
81
88
private static void createAndShowGUI () {
82
89
83
90
file = getTempFile ();
84
91
85
- final JFrame frame = new JFrame ("Test" );
92
+ frame = new JFrame ("Test" );
86
93
frame .setDefaultCloseOperation (JFrame .EXIT_ON_CLOSE );
87
94
frame .setSize (200 , 300 );
88
95
@@ -97,6 +104,7 @@ public void actionPerformed(ActionEvent e) {
97
104
98
105
frame .getContentPane ().add (BorderLayout .CENTER , fileChooser );
99
106
frame .setSize (fileChooser .getPreferredSize ());
107
+ frame .setLocationRelativeTo (null );
100
108
frame .setVisible (true );
101
109
}
102
110
0 commit comments