JTable разработчиците са го създали в парадигмата на "модел-изглед-контролер". С други думи, това JTable разделен на части, така че не е отговорен за средствата за информация на дисплея, а другата за появата, за извличане на трето данни. Ние няма да се рови в подробности за който се интересува може да търси в мрежата. Нашата задача е да се разбере, примерите за това как да се организира на изхода от структурата на маса. Той е отговорен за тази таблица модел.
Най-лесният начин за създаване на JTable - масив. Конструкторът е преминал редица от колони и имената на стойностите на масив. Всичко останало прави самата таблица. Ето един пример.
Благодарим Ви, че обяснението, че е много лесно да се разбере.
Единственото нещо, за което дълго време не можеше да се сети - от където въведените данни в метода getValueAt (), клас MyTableModel. Тогава разбрах, че там минава итерация и стойностите са на броя на редовете и stlbtsov.
Добави моите "5 цента", в редакцията на урок (за повече дърпа), най-вероятно начинаещи нерви спаси.
Този модел използва променлива «tModel», което не е било обявено за дизайнера.
// Създаване на списък на класа Човешките същества
хората = нов ArrayList ();
humans.add (нова Human ( "Джон", "Смит", "1231231"));
humans.add (нова Human ( "Джордж", "Бяла", "321 321 312"));
humans.add (нова Human ( "Олга", "Bregneva", "7171711"));
// Създаване на модел на маса
tModel = нов MyTableModel (хора);
// На базата на модела, да създадете нов JTable
jTabPeople = нов JTable (tModel);
Трябва да се декларира променлива преди конструктора:
обществени клас JTableExample MyTableModel tModel;
// конструктор
>
По принцип, когато написах аз не мисля за това. Тъй като не сте приключили програмата е излетял и просто е написал статията. Мисля, че е логично, ако променливата е декларирана - необходимо е да се декларира :).
Половината спечелил!
Обяснете моля спешно някой как правилно да поставите (което се променя) това парче:
/ * Добавяне на поле хората в нашия модел,
както и промяна конструктора на модела: * / ArrayList
MyTableModel (ArrayList
this.humans = хора;
>
Аз разбирам, че това е необходимо, за да се добавя:
обществени клас MyTableModel простира AbstractTableModel
MyTableModel (ArrayList
this.humans = хора;
>
...
Но дава грешка MyTableModel на конструктор () е дефинирана
Свързани статии