如何使用扩展AbstractTableModel的类更新Jtable属性?

时间:2014-08-13 23:20:24

标签: java swing jtable abstracttablemodel

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());
    }
}

中的

1 个答案:

答案 0 :(得分:1)

  

它有一个ArrayList

然后使用支持包含任何自定义Object的ArrayList的自定义TableModel。

例如,您可以使用Row Table Model。它提供了一个自定义TableModel,用于在ArrayList中存储自定义对象。您需要实现与自定义Object相关的getValueAt()和setValueAt()方法。 JButtonTableModel示例向您展示了如何完成此操作。