写了一个类文件实现AbstractTableModel借口。假如开始默认有10行数据。我想通过鼠标右键---插入行  在特定的位置中插入一行空记录。例如在第三行和第四行之间插入一行空白的。

解决方案 »

  1.   

    你可以参考DefaultTableModel类中insertRow的方法
        public void insertRow(int row, Vector rowData) {
    dataVector.insertElementAt(rowData, row); 
    justifyRows(row, row+1); 
            fireTableRowsInserted(row, row);
        }
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
    <HTML>  
     <HEAD>  
      <TITLE> New Document </TITLE>  
     </HEAD>  
     <BODY>    
     <input type="button" onclick="rowsAdd()" value="增加空行"> 
      <table border="1" id="play">  
        <tr>  
            <td>姓名</td>  
            <td>性别</td>  
            <td>年龄</td>  
            <td>QQ</td>  
            <td>MSN</td>  
            <td>E-mail</td>  
            <td>备注</td>  
        </tr>
    <tr>  
            <td>libo</td>  
            <td>man</td>  
            <td>24</td>  
            <td>31793827</td>  
            <td>383672873</td>  
            <td>[email protected]</td>  
            <td>nihao</td>  
        </tr>    
      </table>  
     </BODY>  
    </HTML>  
    <script>   
      function rowsAdd(){   
         var Container = document.getElementById("play");   
         var detailNum = Container.rows.length;   
         var _tr=Container.insertRow(-1);   
         for(var i=0;i<8;i++)   
          {   
           var _td=_tr.insertCell(i);       
            switch(i)   
             {     
              case 0:   
                 _td.innerHTML="&nbsp;";     
                 break;   
              case 1:   
                 _td.innerHTML="&nbsp;";     
                 break;   
              case 2:   
                 _td.innerHTML="&nbsp;";     
                 break;   
              case 3:   
                _td.innerHTML="&nbsp;";     
                 break;      
              case 4:   
                  _td.innerHTML="&nbsp;";     
                 break;   
              case 5:   
                 _td.innerHTML="&nbsp;";     
                 break;    
              case 6:   
                 _td.innerHTML="&nbsp;";     
                 break;      
             }   
          }         
    }   
    </script>    不知道你说的是不是前台,如果是前台 可以用JS 实现
      

  3.   

    方法很多。
    可以如1楼所说。一般可以继承DefaultTableModel。如果一定要实现TableModel接口当然可以,但是很多的工作就必须自己完成。
    另一种方法一可以直接操作自己的数据。在数据中指定位置加入你要的,而后通知界面刷新即可。