何必继承AbstractTableModel呢,直接defaultTableModel岂不更方便,要不你就参看defaultTableModel的addRow()实现代码嘛.

解决方案 »

  1.   

    public void addTableRow(Object[] rowData){
            addRow(rowData);
        }
    其实就是直接调用它提供的加入行的方法
      

  2.   

    多谢各位大侠 以前经常去cu的java论坛 觉的那里的人瞒热心的
    第一次在csdn发帖 感觉很好!
      

  3.   

    用这个fireTableRowsInserted
      
    请问清风. fireTableRowsInserted怎么用?
    fireTableRowsInserted是AbstractTableModel的一个方法吧?
      

  4.   

    public void addTableRow(Object[] rowData){
            addRow(rowData);
        }
    其实就是直接调用它提供的加入行的方法我用的是自己写的tablemodel 不是DefaultTableModel,因为是自己写的所以MyTabelModel(自己写
    的那个) 必须重载AbstractTableModel 的addRow()方法,现在就是不知道怎么写!在MyTabelModel类
    中写! 您可能是误解了我的意思!( 不知道是不是我误解了你: ),试了你说的 ,不行 )
      

  5.   

    晕,我是说让你的MyTabelModel继承defaultTableModel,defaultTableModel是一个继承AbstractTableModel的普通类,实现了所有的抽象办法,再在MyTabelModel里把你看着不爽的东西覆盖一次就完事了嘛.
      

  6.   

    晕死,有这么麻烦吗?既然Model是你自己写的,那你随便弄个方法只要在你的数据上加一行然后刷新表格就完了另:AbstractTableModel有addRow()方法吗?
      

  7.   

    请高手再说的详细点.问题是这样的: 不知道怎样在返回的记录集中插入一行
    你所说的刷新表格是怎样实现的.JTable的什么方法可以实现.
    AbstractTableModel有此方法!
      

  8.   

    被你吓一跳,特意去看了看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了,现在新加的行在界面上已经有了,哪里有那么麻烦?至于写完数据再填回数据库,那是另外一个问题了。