Re: [問題] JTable的排序與上色

看板java作者 (十年一夢)時間11年前 (2013/10/17 16:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/8 (看更多)
※ 引述《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)
文章代碼(AID): #1INw2LAF (java)
討論串 (同標題文章)
文章代碼(AID): #1INw2LAF (java)