被你吓一跳,特意去看了看javax.swing.table.AbstractTableModel,至少在JDK1.5.0_01之前没见过addRow()方法,要是有,估计是你自己写的类,起了个名字叫AbstractTableModel,晕关于加条记录,举个最简单的例子,你的表格只有1列,结果集是一个ArrayList 那么你的TableModel里一般是这么写的 public class YourTableModel extends AbstractTableModel{ ArrayList data = null; public int getColumnCount() { return 1; } public int getRowCount() { return data==null?0:data.size(); } public Object getValueAt(int arg1, int arg2) { return data.get(arg1); } } 假设它有个增行的方法,我们姑且叫它addRow 那么 public void addRow() { YourResultClass addedrow = new YourResultClass();//声明一个你的数据类型的实例 data.add(addedrow); } 那么我们怎么使用它呢? ((YourTableModel)jtable.getModel()).addRow(); jtable.updateUI(); OK了,现在新加的行在界面上已经有了,哪里有那么麻烦?至于写完数据再填回数据库,那是另外一个问题了。
addRow(rowData);
}
其实就是直接调用它提供的加入行的方法
第一次在csdn发帖 感觉很好!
请问清风. fireTableRowsInserted怎么用?
fireTableRowsInserted是AbstractTableModel的一个方法吧?
addRow(rowData);
}
其实就是直接调用它提供的加入行的方法我用的是自己写的tablemodel 不是DefaultTableModel,因为是自己写的所以MyTabelModel(自己写
的那个) 必须重载AbstractTableModel 的addRow()方法,现在就是不知道怎么写!在MyTabelModel类
中写! 您可能是误解了我的意思!( 不知道是不是我误解了你: ),试了你说的 ,不行 )
你所说的刷新表格是怎样实现的.JTable的什么方法可以实现.
AbstractTableModel有此方法!
那么你的TableModel里一般是这么写的
public class YourTableModel extends AbstractTableModel{
ArrayList data = null;
public int getColumnCount() {
return 1;
}
public int getRowCount() {
return data==null?0:data.size();
}
public Object getValueAt(int arg1, int arg2) {
return data.get(arg1);
}
}
假设它有个增行的方法,我们姑且叫它addRow
那么
public void addRow() {
YourResultClass addedrow = new YourResultClass();//声明一个你的数据类型的实例
data.add(addedrow);
}
那么我们怎么使用它呢?
((YourTableModel)jtable.getModel()).addRow();
jtable.updateUI();
OK了,现在新加的行在界面上已经有了,哪里有那么麻烦?至于写完数据再填回数据库,那是另外一个问题了。