如何使用向量刷新JTable

时间:2011-03-29 14:07:42

标签: java refresh jtable tablemodel

我已经被这件事困扰了很长一段时间了。我知道你使用表模型用新值刷新实际表,但我似乎无法使其工作。我在表单中添加了一个tablemodellistener,并有一个tableChanged方法。但是,我似乎无法弄清楚为什么在插入表格时没有调用tableChanged方法。

public void tableChanged(TableModelEvent e) {

    int row = e.getFirstRow();
    int column = e.getColumn();
    DefaultTableModel model = (DefaultTableModel)e.getSource();
   // String columnName = model.getColumnName(column);
    //Object data_1 = model.getValueAt(row, column);

    //model.fireTableCellUpdated(row, column);
    //model.fireTableDataChanged();
    //customerTable.repaint();


}

如果单击表单上的刷新按钮,是否可以完全重建表格?这有可能吗?如果没有,我是否必须从我的刷新按钮的动作执行方法调用我的tableChanged方法才能触发它?我已经坚持了很长一段时间了,而且我只想把这个弄清楚,以便学习。

2 个答案:

答案 0 :(得分:0)

如果您有选择并且符合您的需求,我建议您查看GlazedLists。然后你不必担心更新你的表格模型 - 它们都是为你处理的。

这是跳转到relevant part of the GlazedLists tutorial

答案 1 :(得分:0)

我相信您需要手动将Table添加为表TableModel的监听器。