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 /**
25 * @test
26 * @key headful
27 * @bug 8073001 8081764
28 * @summary Test verifies that combo box with custom editor renders
29 * focus ring around arrow button correctly.
30 * @library /lib/testlibrary
31 * @build jdk.testlibrary.OSInfo
32 * @run main CustomComboBoxFocusTest
33 */
34
35 import java.awt.AWTException;
36 import java.awt.Component;
37 import java.awt.GridLayout;
38 import java.awt.Point;
39 import java.awt.Rectangle;
40 import java.awt.Robot;
41 import java.awt.event.ActionListener;
42 import java.awt.event.FocusEvent;
43 import java.awt.event.FocusListener;
44 import java.awt.image.BufferedImage;
45 import java.io.File;
46 import java.io.IOException;
47 import java.lang.reflect.InvocationTargetException;
48 import java.util.concurrent.CountDownLatch;
49 import javax.imageio.ImageIO;
50 import javax.swing.ComboBoxEditor;
51 import javax.swing.JComboBox;
52 import javax.swing.JFrame;
53 import javax.swing.JLabel;
54 import javax.swing.JPanel;
55 import javax.swing.JTextField;
56 import javax.swing.SwingUtilities;
57 import jdk.testlibrary.OSInfo;
58
59 public class CustomComboBoxFocusTest {
60
61 private static CustomComboBoxFocusTest test = null;
62
63 public static void main(String[] args) {
64 if (OSInfo.getOSType() != OSInfo.OSType.MACOSX) {
65 System.out.println("Only Mac platform test. Test is skipped for other OS.");
66 return;
67 }
68
69 try {
70 SwingUtilities.invokeAndWait(new Runnable() {
71 public void run() {
72 test = new CustomComboBoxFocusTest();
73 }
74 });
75 } catch (InterruptedException | InvocationTargetException e ) {
76 throw new RuntimeException("Test failed.", e);
77 }
78
79 SwingUtilities.invokeLater(test.init);
80
81 try {
82 System.out.println("Wait for screenshots...");
83 test.testDone.await();
84 } catch (InterruptedException e) {
|
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 /**
25 * @test
26 * @key headful
27 * @bug 8073001 8081764
28 * @summary Test verifies that combo box with custom editor renders
29 * focus ring around arrow button correctly.
30 * @library /test/lib
31 * @build jdk.test.lib.Platform
32 * @run main CustomComboBoxFocusTest
33 */
34
35 import java.awt.AWTException;
36 import java.awt.Component;
37 import java.awt.GridLayout;
38 import java.awt.Point;
39 import java.awt.Rectangle;
40 import java.awt.Robot;
41 import java.awt.event.ActionListener;
42 import java.awt.event.FocusEvent;
43 import java.awt.event.FocusListener;
44 import java.awt.image.BufferedImage;
45 import java.io.File;
46 import java.io.IOException;
47 import java.lang.reflect.InvocationTargetException;
48 import java.util.concurrent.CountDownLatch;
49 import javax.imageio.ImageIO;
50 import javax.swing.ComboBoxEditor;
51 import javax.swing.JComboBox;
52 import javax.swing.JFrame;
53 import javax.swing.JLabel;
54 import javax.swing.JPanel;
55 import javax.swing.JTextField;
56 import javax.swing.SwingUtilities;
57
58 import jdk.test.lib.Platform;
59
60 public class CustomComboBoxFocusTest {
61
62 private static CustomComboBoxFocusTest test = null;
63
64 public static void main(String[] args) {
65 if (!Platform.isOSX()) {
66 System.out.println("Only Mac platform test. Test is skipped for other OS.");
67 return;
68 }
69
70 try {
71 SwingUtilities.invokeAndWait(new Runnable() {
72 public void run() {
73 test = new CustomComboBoxFocusTest();
74 }
75 });
76 } catch (InterruptedException | InvocationTargetException e ) {
77 throw new RuntimeException("Test failed.", e);
78 }
79
80 SwingUtilities.invokeLater(test.init);
81
82 try {
83 System.out.println("Wait for screenshots...");
84 test.testDone.await();
85 } catch (InterruptedException e) {
|