Я пишу программу менеджера хоккейного пула, и у меня возникают проблемы с получением jTable для представления моего списка игроков.У меня есть три класса: Team, Roster и Player.У команды есть два члена Ростера, Состав Скамьи и Состав Списка.каждый список содержит ArrayList игроков.Игроки могут быть добавлены динамически.Я хочу иметь два jTables, один для составления списка игроков в Bench Roster, и один для составного списка.Я сделал эту модель таблицы, но я чувствую, что я не в порядке:
public class PlayerTable extends AbstractTableModel {
private String[] columnNames = {"Name", "Team", "Position", "Injured?", "Salary", "PowerRanking"};
private Roster playerList;
public PlayerTable(Roster players){
playerList = players;
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return playerList.getNumPlayers();
}
public String getColumnName(int col) {
return columnNames[col];
}
public boolean addPlayer(String name, String team, int teamNumber) throws Exception{
return playerList.addPlayer(name, team, teamNumber);
}
public Object getValueAt(int row, int col) {
Object returnValue = "----";
switch (col) {
case 0:
returnValue = playerList.getPlayer(row).getName();
break;
case 1:
returnValue = playerList.getPlayer(row).getTeam();
break;
case 2:
returnValue = playerList.getPlayer(row).getPosition();
break;
case 3:
returnValue = playerList.getPlayer(row).isInjured();
break;
case 4:
returnValue = playerList.getPlayer(row).getSalary();
break;
case 5:
returnValue = playerList.getPlayer(row).getPawerRanking();
break;
}
return returnValue;
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
}
И я инициализирую свои jTables с помощью:
jTableBench.setModel(new PlayerTable(userTeam.getBench())
Я получаю пустую таблицу, но онаимеет правильные имена столбцов.теперь, когда я иду и добавляю игрока на скамейку, используя
userTeam.addPlayerToBench(name, team...)
Таблица не меняется.Я на правильном пути здесь?это лучший способ использовать таблицу для представления набора объектов, как это?Как я могу получить таблицу, чтобы отразить изменения, которые я внес в реестр скамейке?