Re: [問題] JTable的排序與上色
※ 引述《prjryu (再努力一點)》之銘言:
: 我希望得到一個JTable 它可以排序並將非預期的數字以不同的底色標出
: 我先是用getTableCellRendererComponent做出了標出非預期的數字cell的底色的功能,
: 然後使用RowSorter做排序的功能,
: 發現它的排序方式是把cell的內容當obj排序的,並非預期的遞增或遞減排序
: ( ex: 排序 1, 100, 11
: 預期結果: 1, 11, 100
: 執行結果: 1, 100, 11
: )
: 為了解決這個問題,我將addRow()陣列裡數字的Object都改成double的型態,
: 這樣就可以正確顯示數字的排序結果了。
: 但是前面寫的標出底色的功能卻失效了,
: 不知道為什麼table在重畫cell的時候,
: 原本obj型態的cell會呼叫自己寫的getTableCellRendererComponent且正常上色,
: 而後來改成double型態的cell卻不會呼叫我自己寫的getTableCellRendererComponent,
: 這是我的問題所在,這導致我無法正確的為cell上色...
: 請指教是否我的用法有錯、有什麼其他方法可以解決嗎?
老實說這樣的資訊是看不出來你哪邊寫錯。
不過用猜的,會不會是你把資料從 string 改成 double 後,你的 table cell
renderer 的 code 忘了作對應的改變?
補:
若你不是針對 table column 去設定 cell renderer 而是從 table 本身去設定
default cell renderer,那麼 column data 型態變更後,你設定 default cell
renderer 時指定的型別也要跟著改(除非你指定 Object 但會影響其他的 column)。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.238.39.58
※ 編輯: sbrhsieh 來自: 36.238.39.58 (10/17 16:41)
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章