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?

questionAnswers(2)

yourAnswerToTheQuestion