jdk/test/javax/swing/JComboBox/8057893/bug8057893.java
changeset 28071 3acb75b8df45
parent 27505 bc197defe284
child 40128 e635645d2a8a
equal deleted inserted replaced
28070:001f640e7016 28071:3acb75b8df45
    28 import java.awt.event.ActionListener;
    28 import java.awt.event.ActionListener;
    29 import java.awt.event.KeyEvent;
    29 import java.awt.event.KeyEvent;
    30 import javax.swing.JComboBox;
    30 import javax.swing.JComboBox;
    31 import javax.swing.JFrame;
    31 import javax.swing.JFrame;
    32 import javax.swing.WindowConstants;
    32 import javax.swing.WindowConstants;
    33 import sun.awt.SunToolkit;
       
    34 
    33 
    35 /**
    34 /**
    36  * @test
    35  * @test
    37  * @bug 8057893
    36  * @bug 8057893
    38  * @author Alexander Scherbatiy
    37  * @author Alexander Scherbatiy
    45     private static volatile boolean isComboBoxEdited = false;
    44     private static volatile boolean isComboBoxEdited = false;
    46 
    45 
    47     public static void main(String[] args) throws Exception {
    46     public static void main(String[] args) throws Exception {
    48         Robot robot = new Robot();
    47         Robot robot = new Robot();
    49         robot.setAutoDelay(50);
    48         robot.setAutoDelay(50);
    50         SunToolkit toolkit = (SunToolkit) Toolkit.getDefaultToolkit();
       
    51 
    49 
    52         EventQueue.invokeAndWait(() -> {
    50         EventQueue.invokeAndWait(() -> {
    53             JFrame frame = new JFrame();
    51             JFrame frame = new JFrame();
    54             frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    52             frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    55             JComboBox<String> comboBox = new JComboBox<>(new String[]{"one", "two"});
    53             JComboBox<String> comboBox = new JComboBox<>(new String[]{"one", "two"});
    67             frame.pack();
    65             frame.pack();
    68             frame.setVisible(true);
    66             frame.setVisible(true);
    69             comboBox.requestFocusInWindow();
    67             comboBox.requestFocusInWindow();
    70         });
    68         });
    71 
    69 
    72         toolkit.realSync();
    70         robot.waitForIdle();
    73 
    71 
    74         robot.keyPress(KeyEvent.VK_A);
    72         robot.keyPress(KeyEvent.VK_A);
    75         robot.keyRelease(KeyEvent.VK_A);
    73         robot.keyRelease(KeyEvent.VK_A);
    76         robot.keyPress(KeyEvent.VK_ENTER);
    74         robot.keyPress(KeyEvent.VK_ENTER);
    77         robot.keyRelease(KeyEvent.VK_ENTER);
    75         robot.keyRelease(KeyEvent.VK_ENTER);
    78         toolkit.realSync();
    76         robot.waitForIdle();
    79 
    77 
    80         if(!isComboBoxEdited){
    78         if(!isComboBoxEdited){
    81             throw new RuntimeException("ComboBoxEdited event is not fired!");
    79             throw new RuntimeException("ComboBoxEdited event is not fired!");
    82         }
    80         }
    83     }
    81     }