2016-06-13 6 views
1

내 모델을 초기화하고 싶습니다. 내 헤더AbstractTableModel에서 열 이름 초기화

public class ModelTableau extends AbstractTableModel{ 

private List<List<String>> data = new ArrayList<List<String>>(); 

private String[] headers;; 

public ModelTableau(List<List<String>> data, String[] headers){ 
    super(); 
    this.data=data; 
    this.headers=headers; 
} 

public int getRowCount() { 
    return data.size(); 
} 

public int getColumnCount() { 
    return headers.length; 
} 

public Object getValueAt(int rowIndex, int columnIndex) { 
    return data.get(rowIndex).get(columnIndex); 
} 

public void removeRow(int row) { 
    data.remove(row); 
    fireTableRowsDeleted(row, row); 
} 

public void addRow(List<String> listData) { 
    data.add(listData); 
    fireTableRowsInserted(data.size()-1, data.size()-1); 

} 

public void setColumnName(int i, String name) { 
    headers[i] = name; 
    fireTableStructureChanged(); 
} 

} 

데이터도 초기화됩니다 있지만 :

public class IceIHM extends JFrame{ 

List<String> listInit = new ArrayList<String>() { 
{ add("None"); add("None"); add("None"); add("None"); add("None");add("None"); add("None"); }}; 

String[] tableauObjectTitle = {"Name (OBJECT)","Extended Name","Reference", "Entity Type","Relation", "Extended Relation","PMID"}; 
String[] tableauSubjectTitle = {"Name (SUBJECT)","Extended Name","Reference", "Entity Type","Relation", "Extended Relation","PMID"}; 

List<List<String>> dataObject = new ArrayList<List<String>>(){ 
{ add(listInit); add(listInit);}}; 

List<List<String>> dataSubject = new ArrayList<List<String>>(){ 
{ add(listInit); add(listInit);}}; 

ModelTableau modelObject = new ModelTableau(dataObject,tableauObjectTitle); 
ModelTableau modelSubject = new ModelTableau(dataSubject, tableauSubjectTitle); 

JTable tableauObject = new JTable(modelObject); 
JTable tableauSubject = new JTable(modelSubject); 

여기 내 수업 ModelTableau입니다 : 여기가 내 GUI 항목을 만들 내 주요 클래스의 추출물이다. 누군가 내 실수를 찾도록 도와 줄 수 있습니까?

답변

1

getColumnName()을 나타내며, here으로 표시하고, headers[col]을 반환합니다.

@Override 
public String getColumnName(int col) { 
    return headers[col]; 
} 
+0

작동합니다! 고마워. – Remi