Re: [問題] JTable的排序與上色
※ 引述《prjryu (再努力一點)》之銘言:
: ※ 引述《sbrhsieh (十年一夢)》之銘言:
: 下面綠色的部份是我所說改變的地方,對table而言我insert的row仍然是obj陣列,
: 但我不懂是否是您所說的需要跟著改default cell renderer的情況。
: 如果需要更動的話應該如何更動呢?
: 我的default cell renderer會去取table裡cell的值計算判斷是否染色,
: 現在遇到的問題是,
: 那個被我以double形態轉成obj型態insert入table的cell不會染色
: 這種cell重畫的時候沒有call到我所set的DefaultRenderer...orz
: strData = BufferedStream.readLine();
: StringTokenizer st = new StringTokenizer(strData, "\t");
: st = new StringTokenizer(strData, "\t");
: tokens = new Object[15];
: for( i=0, j=st.countTokens(); i < j; i++)
: {
: jLabel1.setText("token: "+j);
: if( i > 2 )
: {
: //放<double>後table才能正確排序,但DefaultTableCellRenderer無法正確上色
: tokens[i] = Double.parseDouble( st.nextToken() );
: //原:tokens[i] = st.nextToken();//放<obj>後table才能正確上色,但無法正確排序
: }
: else
: {
: tokens[i] = st.nextToken();
: }
: }
: defaultTableModel.addRow(tokens);
你得提供你的 table cell renderer 的碼才有助找出問題點。
你把 model 內的數據從 string 改成 double,那麼你在 table cell renderer
判斷要不要標記的作法一定會受影響,你也要一併改寫,目前就是沒有這部分的
資訊。
如果你的 JTable 應用很複雜,建議你可以考慮使用 SwingX 之類的套件或許會
輕鬆一點。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.238.39.58
討論串 (同標題文章)