Вы должны реализовать свою собственную табличную модель, создав класс, реализующий TableModel, или, возможно, более просто создать класс, расширяющий AbstractTableModel.
Если вы сделаете это тогда, вам нужно только реализовать
class MyModel extends AbstractTableModel {
public Object getValueAt(int rowIndex, int columnIndex) {
// return what value is appropriate
return null;
}
public int getColumnCount() {
// return however many columns you want
return 1;
}
public int getRowCount() {
// return however many rows you want
return 1;
}
}
обычно вы создаете список в классе объекта по вашему выбору, и getRowCount будет просто указывать, насколько велик список.
getValueAt будет возвращать значения из объекта в списке.
Например, если бы я хотел таблицу пользователей со скрытым идентификатором, это было бы
class UserModel extends AbstractTableModel {
private List<User> users = new ArrayList<User>();
public Object getValueAt(int rowIndex, int columnIndex) {
User user = users.get(rowIndex);
if (columnIndex == 0)
return user.getName();
else
return user.getAge(); //whatever
}
public int getColumnCount() {
return 2;
}
public int getRowCount() {
return users.size();
}
}
class User {
private int userId; // hidden from the table
private String name;
private int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
}