5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /* @test
25 * @bug 8032878
26 * @summary Checks that JComboBox as JTable cell editor processes key events
27 * even where setSurrendersFocusOnKeystroke flag in JTable is false and
28 * that it does not lose the first key press where the flag is true.
29 * @library ../../regtesthelpers
30 * @build Util
31 * @author Alexey Ivanov
32 * @run main bug8032878
33 */
34
35 import java.awt.*;
36 import java.awt.event.KeyEvent;
37 import javax.swing.*;
38 import javax.swing.text.JTextComponent;
39
40 public class bug8032878 implements Runnable {
41 private static final String ONE = "one";
42 private static final String TWO = "two";
43 private static final String THREE = "three";
44
45 private static final String EXPECTED = "one123";
46
47 private final Robot robot;
48
49 private JFrame frame;
50 private JComboBox cb;
51
52 private volatile boolean surrender;
53 private volatile String text;
54
55 public static void main(String[] args) throws Exception {
56 final bug8032878 test = new bug8032878();
57
58 test.test(false);
59 test.test(true);
60 }
61
62 public bug8032878() throws AWTException {
63 robot = new Robot();
64 robot.setAutoDelay(100);
65 }
66
67 private void setupUI() {
68 frame = new JFrame();
69 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
70
71 JTable table = new JTable(new String[][] {{ONE}, {TWO}, {THREE}},
72 new String[] { "#"});
73 table.setSurrendersFocusOnKeystroke(surrender);
74
75 cb = new JComboBox(new String[]{ONE, TWO, THREE});
|
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /* @test
25 * @bug 8032878 8078855
26 * @summary Checks that JComboBox as JTable cell editor processes key events
27 * even where setSurrendersFocusOnKeystroke flag in JTable is false and
28 * that it does not lose the first key press where the flag is true.
29 * @library ../../regtesthelpers
30 * @build Util
31 * @author Alexey Ivanov
32 * @run main bug8032878
33 */
34
35 import java.awt.*;
36 import java.awt.event.KeyEvent;
37 import javax.swing.*;
38 import javax.swing.text.JTextComponent;
39 import javax.swing.plaf.metal.MetalLookAndFeel;
40
41 public class bug8032878 implements Runnable {
42 private static final String ONE = "one";
43 private static final String TWO = "two";
44 private static final String THREE = "three";
45
46 private static final String EXPECTED = "one123";
47
48 private final Robot robot;
49
50 private JFrame frame;
51 private JComboBox cb;
52
53 private volatile boolean surrender;
54 private volatile String text;
55
56 public static void main(String[] args) throws Exception {
57 UIManager.setLookAndFeel(new MetalLookAndFeel());
58
59 final bug8032878 test = new bug8032878();
60
61 test.test(false);
62 test.test(true);
63 }
64
65 public bug8032878() throws AWTException {
66 robot = new Robot();
67 robot.setAutoDelay(100);
68 }
69
70 private void setupUI() {
71 frame = new JFrame();
72 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
73
74 JTable table = new JTable(new String[][] {{ONE}, {TWO}, {THREE}},
75 new String[] { "#"});
76 table.setSurrendersFocusOnKeystroke(surrender);
77
78 cb = new JComboBox(new String[]{ONE, TWO, THREE});
|