В настоящее время я сталкиваюсь с ситуацией, когда пользователь нажимает на мой ComboBox и перемещает выделение своими клавишами, прослушиватель выбора будет вызываться, хотя для всех целей выбор все еще не был сделан пользователем.
Как я могу отличить эти "промежуточные" выборы от правильного, окончательного, пользовательского выбора в моем ComboBox?
Я пытался смотреть на такие переменные, как isPopupVisible
или даже играть с PopupMenuListener
, ноони, похоже, не очень помогли.
Спасибо
Редактировать: Пример кода обидчика:
public class Main extends JFrame {
public Main() {
setLayout(new FlowLayout(FlowLayout.LEFT, 10, 10));
JComboBox<String> comboBox = new JComboBox<>();
comboBox.setModel(new DefaultComboBoxModel<>(new String[] { "a", "b", "c" }));
comboBox.addItemListener(e -> {
System.out.println(e.getItem());
});
add(comboBox);
}
}