4
我有一個JTable
我鏈接到DefaultTableModel
和TableRowSorter
。他們工作。當你點擊一行時,它的內容被複制到JTextfields,所以你可以編輯它們*。但是,如果您通過某個字段對錶格進行排序,然後單擊一行,則複製的內容將從之前的值(在排序之前)而不是從新的值中獲取。什麼可能導致這種情況?爲什麼TableRowSorter搞亂了我的結果?
*我這樣做是因爲該表只包含所有字段的一個子集。
沒有任何代碼,我們只能假設有什麼不妥的地方。我的直覺是你錯過了模型和桌子之間的聯繫。排序後只有視圖被改變,模型保持不變。因此選擇索引與模型中索引處的值不同。檢查[TableRowSorter](http://download.oracle.com/javase/6/docs/api/javax/swing/table/TableRowSorter.html)用法,特別是表中的convertRowIndexToModel方法。 – Manoj 2011-05-18 11:08:59
就是這樣,你們有這麼好的代碼鼻子! – vemv 2011-05-18 11:20:04