我正在使用具有scala.swing.Table組件的簡單UI。我想使用java.swing.table.TableRowSorter對錶格行進行排序。所以,我想對等直接設置它的表類沒有使用一個行排序提供任何API現在使用TableRowSorter與scala.swing.Table
val table = new Table(height, width) {
import javax.swing.table._
rowHeight = 25
autoResizeMode = Table.AutoResizeMode.NextColumn
showGrid = true
gridColor = new java.awt.Color(150, 150, 150)
model = myModel
peer.setRowSorter(new TableRowSorter(model))
}
當我點擊列標題,我得到的一點向上/向下箭頭,但表內容不要使用新的排序順序進行更新。如果在單擊列標題時選擇了一行,則選擇將根據排序順序移動到選定的行所在的行。我添加了自定義比較器,它們按預期方式被調用,所以排序實際上正在發生,但表沒有被更新。
我錯過了什麼讓表更新?訪問底層的JTable對象是否合法?
我有一個類似的問題,請看:[sortable-columns-in-scala-swing-table](http:/ /stackoverflow.com/questions/8911759/sortable-columns-in-scala-swing-table) – 2012-03-06 17:28:04
彼得,與我一直在做的所有搜索我想知道我是如何錯過你的問題?看起來你的例子顯示了一個簡單的包裝JTable的Component支持排序,但Table類不支持排序。這意味着問題與表中的其他所有內容有關。這是一個很好的線索。 – 2012-03-06 20:13:45