Как написать метод addElement для пользовательского класса Model, расширяющего AbstractTableModel? - PullRequest
0 голосов
/ 08 октября 2010

Для назначения hw мне нужно установить JTable в Swing и заполнить содержимое таблицы с помощью пользовательского класса модели, который расширяет AbstractTableModel.У меня много вопросов относительно этого слишком сложного процесса, но я постараюсь сделать его простым.

Мой первый шаг - правильно ввести данные в модель?Когда я использовал JList (я мог использовать DefaultListModel), это было так просто, как list.addElement().Однако я обнаружил, что добавить данные в мою модель JTable не так просто.Методы по умолчанию для AbstractTableModel состоят из получения номеров строк / столбцов, и это все.Для того, чтобы получить данные в моей модели, мне нужно написать свою собственную модель addElement?Есть какие-нибудь указания на это?

После того, как я получу данные в свою модель, это просто вопрос table.setModel(myModel);?Что мне нужно сделать, чтобы обработать индекс столбцов и строк?

Любая помощь или понимание этого вопроса действительно пойдет своим путем, я просто приближаюсь к точке выброса компьютера из окна...

1 Ответ

0 голосов
/ 09 октября 2010

Вам нужно переопределить пустое значение AbstractTableModel#setValueAt.

AbstractTableModel не имеет поля данных, поэтому вы можете использовать все, что подходит вам.

Ваша таблицаМодель не должна беспокоиться о преобразовании индекса модель / представление (если это то, о чем вы спрашиваете), потому что JTable#setValue делает это за вас.

( НЕ ответ:Если вы просто хотите с этим покончить, и у вашего учителя достаточно слабости, переименуйте DefaultTableModel;)

...