2013-12-19 3 views
2

Так что я в ситуации, когда хочу использовать JTable, который может расти и сокращаться по мере ввода пользователем. (вроде как ArrayList может это сделать, а обычный массив не может). Но я не могу найти классы AbstractTableModel, которые могут это сделать.Как я могу использовать динамический JTable/TableModel?

Вот изображение моей программы: http://i.imgur.com/tqLheri.png?1

Для моей нынешней JTable, я должен ввести количество точек (в поле в верхней части) и на основе этого, она будет создавать полностью новый JTable с множеством строк ... У меня создается впечатление, что это действительно неэффективно. Есть ли в любом случае, что я могу просто нажать «Ввод» или что-то подобное на клавиатуре, когда я нахожусь в последней строке, и она добавит новую строку?

+1

1) Пройти через учебник JTable, который, скорее всего, первый попал в Google. 2) Повторите 1). –

+0

Редактировать: да, это первый хит. Он покажет вам, как использовать TableModel, который является ключом к вашей проблеме. Это все. –

+1

Ahh okay, я нашел метод «fireTableRowsInserted». Я прошел через ссылку раньше, но не прошел ее полностью. Извините ... спасибо! – ujvl

ответ

3

Короткий ответ: да, решительно.

Вы можете использовать DefaultTableModel, которая имеет такую ​​функциональность, но лично я предпочитаю ролл мой собственный AbstractTableModel как я могу сохранить данные в POJO-х

В принципе, вы должны поставить add и delete методы в вашем чтобы позволить ему, очевидно, добавлять и удалять удаленные строки из вашей собственной внутренней структуры строк (обычно я использую какой-то)

Вам также необходимо запустить соответствующие события для них, взглянуть на

Для начала ...

Кроме того, обратите внимание на How to use Tables для получения более подробной информации

+0

Да, извините, я понял это после того, как снова просмотрел учебник JTable. Все это время у меня создалось впечатление, что мне приходилось каждый раз создавать новую модель ... Не могу поверить, что раньше этого не осознавала. – ujvl

+0

@Trust Мои жизни достаточно тяжелые, как есть, мне бы очень хотелось увидеть его с не изменяемой моделью модели 8O – MadProgrammer

Смежные вопросы