0
이것은 내 ClanModel 클래스입니다. 테이블은 트리 맵을 기반으로합니다.JTable 및 JModel에 문제가있다
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 창 크기를 조정할 때마다 오류가 발생합니다.
나는 그것을 해결하기 위해해야 할 일에 대해 대략적인 생각을 가지고 있지만 해결하지 못했습니다.
'invokeLater()'또는 'setVisible()'이 표시되지 않습니다. 귀하가 설명하는 문제를 나타내는 [sscce] (http://sscce.org/)를 포함하도록 질문을 편집하십시오. – trashgod
GUI 크기를 조정할 때 어떤 오류가 발생합니까? 또한,'JTable'이'Window'의 어딘가에 추가 된'Container'입니까? –
그는 아마도 오류가 발생하지 않을 것입니다. 암시적인'repaint()'를 얻기 위해 프레임의 크기를 조절해야하는 것은 아마도 잘못된'setVisible()'때문일 것입니다. – trashgod