2014-07-21 86 views
0

我有一个TableModel类,它扩展了java swing中的AbstrctTableModel类,但是当我尝试初始化不是抽象的子类时,Netbeans 8.0 IDE抱怨说我正在初始化一个抽象类。 下面提供了代码片段。初始化扩展抽象类的子类

public class TableModel extends AbstractTableModel { 

private List<List<Object>> dataList = new ArrayList<>(); 
private String[] header = { "ID","SUBJECT","LETTTER FROM","LETTER DATE","DATE RECEIVED", 
           "REMARKS","DATE DISPATCHED","DESTINATION OFFICE"}; 
private int minRowCount = 5; 

public TableModel() 
{ } 

public List<List<Object>> getDataList() { 
    return dataList; 
} 

public void setDataList(List<List<Object>> dataList) {  
    this.dataList = dataList; 
    fireTableDataChanged();  
    fireTableStructureChanged();   
} 

public void setHeader(String[] header) { 
    this.header = header; 
} 

public String[] getHeader() { 
    return header; 
} 

@Override 
public int getRowCount() { 
    return Math.max(minRowCount, dataList.size()); 
} 

@Override 
public int getColumnCount() { 
    return header.length; 
} 

@Override 
public String getColumnName(int col) { 
return header[col]; 
} 

@Override 
public Object getValueAt(int row, int col) { 
    Object value = null; 
    if(row < dataList.size())  
    {value = dataList.get(row).get(col);} 
    return value; 
} 


@Override 
public Class<?> getColumnClass(int column) 
    { 
     for (int row = 0; row < getRowCount(); row++) 
     { 
      Object o = getValueAt(row, column); 

      if (o != null) 
      { 
       return o.getClass(); 
      }    
     } 
     return Object.class; 
    } 
} 

这是初始化Table Model类的代码。

private TableColumnAdjuster tca; 

/** 
* Creates new form MyJFrame 
*/ 

private TableModel tableModel ; 

public MyJFrame() throws CorruptIndexException, LockObtainFailedException, IOException, 
           ParseException, java.text.ParseException, SQLException 
{ 

    tableModel = new TableModel(); // the Netbeans IDEcomplains about this code 

    initComponents(); 


} 
+3

检查你已经导入了哪个'TableModel'。 – immibis

+0

谢谢,这是一个错误的输入导致了这个问题。能够用正确的表示修复 – CodeAngel

+0

作为一个附注,您应该从NetBeans发布精确的错误消息,因为这会给出错误提示。 –

回答

0

你不提供任何信息以指定投诉的确切性质,但我打赌的AbstractTableModel有你TableModel未能覆盖的抽象方法。这将是一个编译错误。

如果这是真的,请为该方法提供一个具体实现,然后您将能够进行下一步。

+0

感谢您的建议,但它是一个错误导致错误的表输入。能够修复它。 – CodeAngel

+0

[TableModel是保留的Java字: - )](http://docs.oracle.com/javase/7/docs/api/javax/swing/table/TableModel.html) – mKorbel

+0

感谢罗杰, – CodeAngel