JTable rendering JPanel
Mam jedną kolumnęJTable
do którego ustawiłem zwyczajTableCellRenderer
które zwracają zwyczajJPanel
w jegogetTableCellRendererComponent
metoda.
ZwyczajJPanel
zawiera kilkaJTextField
iJButton
i tylko jeden przykład zwyczajuJPanel
jest tworzony i wgetTableCellRendererComponent
metoda, którą właśnie ustawiłemJTextField
wartości z obiektu modelu danych.
Aby zrobićJTextFiel
edytowalny iJButton
klikalny musiałem ustawićisCellEditable
metoda zJTable
model do prawdy, jak również stworzyć implementację klasyTableCellEditor
zisCellEditable
na true i ustaw domyślny edytor komórek mojegoJTable
z tym.
Chciałbym uzyskać wybrany wiersz tabeli po kliknięciu niektórych przycisków mojego niestandardowegoJPanel
, ale zawsze zwraca mi -1. Jeśli dodam ListSelectionListener do JTable, to nawet nie wywołuje metody valueChanged po kliknięciu w wierszu. Jeśli usunę edytor komórek, działa poprawnie. Dlaczego jestListSelectionListener
nie działa, jeśli edytor komórek jest dodany doJTable
i dlaczego muszę zapewnić edytor komórek? TheCellEditable fromJTable
model nie wystarczy?