Skocz do zawartości

[JAVA] Źle działa automatyczne otwieranie listy itemów w JComboBox


xevil21

Polecane posty

Witam.

 

Takie pytanie umieściłem również na elektrodzie.

Mam problem z JComboBox umieszczonymi w JTable, jako cellEditor.

 

Jak można zrobić, abo po kliknięciu w JComboBox automatycznie otwierała się lista itemów.

W tej chwili mam to zrealizowane w następujący sposób:

Mam słuchacza, który generuje zdarzenie w momencie zmiany kolumny w JTable - wtedy programowo wymuszam rozpoczęcie edycji nowo zaznaczonego pola.

 

W klasach moich cellEditów mam słuchacza FocusListener. W focusGained mam programowe otwieranie listy popUp JComboBox. Do tego celu używam: showPopup() i setPopupVisible(true).

 

Wszystko działa prawidłowo, kiedy poruszam się po tabeli za pomocą strzałek.

Kiedy natomiast wciskam TAB, JComboBox pokazuje się z otwartym menu itemów, lecz po ułamku sekundy menu zamyka się.

Zauważyłem, że dzieje się tak kiedy przechodzę TABem z komórki, która nie jest w stanie edycji. Natomiast jeśli komórka z której przechodzę za pomocą klawisza tabulacji jest w stanie edycji, to wszystko gra.

 

Klawisze strzałek zawsze działają prawidłowo.

Kliknięcie myszką na tabeli wywołuje taki sam efekt jak klawisz TAB.

 

Znacie rozwiązanie tego problemu? Jak to zrobić porządnie?

 

Pozdrawiam.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...