JComboBox, вызвать действие, если выбранный элемент изменен или выбран тот же - PullRequest
0 голосов
/ 29 марта 2019

Я использую JComboBox, который вызывает открытие другого кадра, если выбранный элемент изменяется.

Вот пример кода.

String[] liste = {"Stack", "Over", "Flow"};
JComboBox comboBox = new JComboBox(liste);
comboBox.addItemListener(e -> {
    if(e.getStateChange() == 2) { //because that listener is called twice, when the item is unselected and the new is selected
        FramePopUp popUp1 = new FramePopUp(); //Class that extends JFrame
    }
});

Моя проблема в том, что я хочу, чтобы этот кадр тоже срабатывал, когда пользователь дважды выбирал один и тот же элемент.

Например:

Пользователь выбирает в этом случае пункт «Over», всплывающее окно Frame, пользователь имеет дело с Frame и информацию, которую он должен предоставить, и затем закрывает Frame.

Он вспомнил, что забыл заполнить одну информацию, поэтому он повторно выбрал пункт «Больше», но ничего не происходит, потому что он не изменил выбранный элемент.

1 Ответ

2 голосов
/ 29 марта 2019

Просто добавьте ActionListener вместо ItemListener.

см. Также JCombobox - запускать actionlistener только при изменении значения , когда у кого-то возникла проблема, противоположная вашей

...