本帖最后由 fhlkm 于 2010-07-26 17:13:06 编辑

解决方案 »

  1.   

    注:之前表格中的值我是用 setValueAt(avalue,r,c)进行设置的
      

  2.   

    fireXXX 是在TableModel 删掉数据后通知 TableModelListener时调用的。本身不会删除数据。
      

  3.   

    fireTableRowsDeleted删除不了model中的数据,它是根据你传入的起始和结束行,来看看model中的相关行数据是否被删掉了,如果删掉了,就更新一下表格,没有,什么也不做。你想删除数据,必须去删model中的数据,view层会自动更新的。
      

  4.   

    表格中的数据一切都在model中
      

  5.   


    可是我在调用fireTableRowsDeleted之前已经把数据从map中删除了啊!
      

  6.   

    首先,“我是能过setValueAt(aValue,r,r)传入表格中”这就错了,view获得显示的数据调用的是getValueAt,setValueAt是编辑器编辑单元格内容时才调用的,把你的代码贴出来看看吧。你最好看看《java核心技术》相关的例子。
      

  7.   


    你把DefaultTableModle换为AbstractTableModel就行了,二者的区别在于,AbstractTableModel实现了TableModel接口的几个方法,你写一下就会发现 其中的差别了!