作者sbrhsieh (十年一梦)
看板java
标题Re: [问题] JTable的排序与上色
时间Thu Oct 17 20:28:30 2013
※ 引述《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