我遇到以下問題。 我創建了JTreeTable和一個擴展了AbstractTreeTableModel的模型。 問題是我的數據僅在每次插入操作後調用fireTreeStructureChanged()方法時才顯示。實際上,如果我簡單地使用fireTreeNodesInserted()方法,則什麼都不會發生。JTreeTable顯示問題
此外,只有在添加/刪除事件後,我的行中的數據纔會更新,如果它們只是簡單更改其值,則只有在點擊表格後纔會更新它們。
這怎麼可能?
EDIT
當我打電話fireTreeStructureChanged(),然後它調用方法fireTableDataChanged();而不是fireTreeNodesInserted(int firstRow,int lastRow)調用fireTableRowsInserted();但也許我傳遞給它不正確的參數......我必須通過第一行和最後一行?
愚蠢的問題,但你確定你使用'fireTreeNodesInserted()'方法時包含正確的索引和路徑? – sethro
正確的觀察......我怎麼檢查這個呢?因爲我不確定我是否理解我是如何填充這些數組的......我嘗試一個例子:我有一個根節點R,然後我第一次添加一個節點A,然後A1到A,最後B到R.一個非常簡短的結構。創建傳遞模型的表時插入根節點。爲了將節點A添加到R,我調用了fireTreeNodesInserted(R,path,index,A);你能向我解釋正確的參數嗎?謝謝! – marco
最有可能的是,你做的解僱錯了(這有點混亂,最好的解釋是在API文檔TreeEvent,從我的頭頂)看看DefaultTreeModel的一個工作示例 – kleopatra