Próbuję wywołać zdarzenie za każdym razem, gdy wybierany jest plik JComboBox
.
Problem polega na tym, że nie ma oczywistej addSelectionListener()
metody.
Próbowałem użyć actionPerformed()
, ale nigdy nie odpala.
Brakuje mi zastąpienia modelu dla JComboBox
, nie mam pomysłów.
Jak mogę otrzymać powiadomienie o zmianie wyboru na JComboBox
? **
Edycja: muszę przeprosić. Okazuje się, że użyłem źle zachowującej się podklasy JComboBox
, ale zostawię to pytanie, ponieważ twoja odpowiedź jest dobra.
java
swing
jcombobox
itemlistener
Allain Lalonde
źródło
źródło
Odpowiedzi:
Powinien odpowiadać na ActionListeners , na przykład:
@John Calsbeek słusznie wskazuje, że
addItemListener()
to też zadziała. Możesz jednak dostać 2ItemEvents
, jeden za odznaczenie poprzednio wybranej pozycji, a drugi za wybór nowej pozycji. Po prostu nie używaj obu typów wydarzeń!źródło
Przykład kodu
ItemListener
implementacjiTeraz otrzymamy tylko wybraną pozycję.
Następnie po prostu dodaj odbiornik do swojego JComboBox
źródło
Spróbowałbym
itemStateChanged()
metodyItemListener
interfejsu, gdyby rozwiązanie jodonnell zawiodło.źródło
Oto tworzenie ComboBox dodającego odbiornik dla zmiany wyboru elementu:
źródło
Możesz spróbować tych
-lub-
-lub-
źródło
Ostatnio szukałem tego samego rozwiązania i udało mi się znaleźć proste bez przypisywania konkretnych zmiennych do ostatnio wybranej pozycji i nowo wybranej pozycji. I to pytanie, choć bardzo pomocne, nie zapewniło mi rozwiązania, którego potrzebowałem. To rozwiązało mój problem, mam nadzieję, że rozwiązuje twój i innych. Dzięki.
Jak zdobyć poprzedni lub ostatni przedmiot?
źródło