这class extends AbstractTableModel
。它有一个ArrayList arr,但我不知道如何使用fire方法。
public void adiciona(Entidad e) {
if(DEBUG)
System.out.println( " tamaño: "+tamaño()+" columas: "+getColumnCount()+"" + Arrays.deepToString(columnNames) ); //size 6
arr.add(e);//adds
if(DEBUG)
System.out.println( " tamaño: "+tamaño()+" columas: "+getColumnCount()+"" + Arrays.deepToString(columnNames) ); //size 7
//setNumRows( getRowCount() - 1 );
//System.out.println( "hola");
fireTableStructureChanged();//BOOOOm EXEPTION NULL POINTER ARRAY
fireTableDataChanged();
System.out.println( "hola");
}
我正在检查Java源代码,了解java如何拥有默认的表模型......
的等价物 private void justifyRows(int from, int to) {
arr.setSize(getRowCount());
for (int i = from; i < to; i++) {
if (dataVector.elementAt(i) == null) {
dataVector.setElementAt(new Vector(), i);
}
((Vector)dataVector.elementAt(i)).setSize(getColumnCount());
}
}
答案 0 :(得分:1)
它有一个ArrayList
然后使用支持包含任何自定义Object的ArrayList的自定义TableModel。
例如,您可以使用Row Table Model。它提供了一个自定义TableModel,用于在ArrayList中存储自定义对象。您需要实现与自定义Object相关的getValueAt()和setValueAt()方法。 JButtonTableModel
示例向您展示了如何完成此操作。