这是我的 ClanModel 课程。该表基于树形图。
public class ClanModel extends AbstractTableModel{
private Map<Integer, ClanMember> clanMembers;
private final String[] columnNames = {"Name", "Rank"};
ClanModel(Map<Integer, ClanMember> clanMembers){
this.clanMembers = clanMembers;
}
@Override
public int getRowCount() {
return clanMembers.size();
}
@Override
public int getColumnCount() {
return 2;
}
@Override
public String getColumnName(int column){
return columnNames[column];
}
@Override
public Object getValueAt(int row, int column) {
if(column == 0) return clanMembers.get(row).getName();
if(column == 1) return clanMembers.get(row).getRank();
return 1;
}
@Override
public void setValueAt(Object value, int row, int column) {
if(column == 0) clanMembers.get(row).setName((String) value);
if(column == 1) clanMembers.get(row).setRank((Rank) value);
fireTableCellUpdated(row, column);
}
}
这是在 gui 构造函数中
clanTable = new JTable(new ClanModel(clanMembers));
panel.add(clanTable);
按下正在工作的按钮即可填充地图。但是,在单击按钮之前或之后不会出现表格。每次调整 gui 窗口大小时,我也会收到错误消息。
我对修复它需要做些什么有一个粗略的想法,但它一直没有解决。