我现在已经实现在jtable中新增一行  删除选中的一行或多行, 现在我想实现新增选中一行或多行,  怎么能实现呢? 很困惑啊

解决方案 »

  1.   

    可能我表述不是很好  意思是这样   当我选中jtable中一行  点击“复制新增”这个按钮后   ,  就应该在jtable中新增一行,新增的这一行和选中的那一行每列的数据相同··不知道表述清楚没····
      

  2.   

    增加新行我是这样实现的 
    DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
    dtm.addRow(new Vector());选中行的复制实在是不清楚如何下手啊
      

  3.   

    自己解决了 复制单行  以下是代码 DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
    int nowRow = jTable1.getSelectedRow();
    Vector v = new Vector();
    for (int i = 0; i < dtm.getColumnCount(); i++){
            v.add(i , dtm.getValueAt(nowRow, i));
    }
    dtm.addRow(v);还想请问下 如何实现复制选中的多行呢???
      

  4.   

    加一列,存放原始的java对象,显示时将它隐藏起来
    复制的时候用getValueAt将这个对象拿出来
      

  5.   

    多行啊多行  我用以下方法复制选中多行          DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
              int[] nowRows = jTable1.getSelectedRows();
    Vector v = new Vector();
    if (nowRows.length < 0) {
    return;
    } else {

    for(int j = 0; j < nowRows.length; j++){

    for (int i = 0; i < dtm.getColumnCount(); i++) {

    v.add(i, dtm.getValueAt(nowRows[j], i));

    }
    dtm.addRow(v);

    }

    }     不能实现复制选中的多行 ,  比如说我选中jtable中3行 ,  点复制 ,   jtable中虽然增加了3行, 但值全是选中那三行中的最后一行的结果  ········   求高人指点该如何修改啊··········      
      

  6.   

    swing真的就这么不受欢迎么···5555555·······
      

  7.   

    DefaultTableModel 擅长列处理
    其实jtable的处理主要集中于表模型处理
    jtable是MVC模式的经典,tableModel集合了MC功能
      

  8.   

    v.add(i , dtm.getValueAt(nowRow, i));
    ====================================
    注意Java是面向对象的,因此这句代码可能会带来很多bug,如果复制对象的话,又涉及到深度复制。
    JTable和关系数据库表一样,每一行都可以描述为一个对象,因此个人偏向于每一行表示一个对象的做法。
    jtable本身不难,个人认为难的是对其实现原理和方式的理解。