当前位置:编程学习 > JAVA >>

JTable设置TableCellRenderer后默认显示样式全成了JLabel,本来里面有boolean类型的显示的是JCheckBox的~

JTable设置TableCellRenderer后默认显示样式全成了JLabel,本来里面有boolean类型的显示的是JCheckBox的~有时间显示的是时间的样式的,我用TableCellRenderer设置了背景颜色~~~这个是设置后效果
这个是设置前的效果
现在想让它既能显示背景颜色 又能正确显示boolean的单选框怎么办啊?

//这是设置renderer的代码!
public void setTableRenderer(JTable table) {
TableColumnModel tcm = table.getColumnModel();
for (int i = 0, n = tcm.getColumnCount(); i < n; i++) {
TableColumn tc = tcm.getColumn(i);
tc.setCellRenderer(new RowRenderer());
}
}

public class RowRenderer extends DefaultTableCellRenderer {
   public RowRenderer() {
        super();
    }
public Component getTableCellRendererComponent(JTable t, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
// 设置奇偶行的背景色,可在此根据需要进行修改
if (row % 2 == 0)
setBackground(Color.WHITE);
else
setBackground(new Color(238, 238, 238));
return super.getTableCellRendererComponent(t, value, isSelected,
hasFocus, row, column);
}

}


下面是AbstractTableModel中getColumnClass方法
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}


求大神帮帮忙~~~~~~~~ jtable boolean color --------------------编程问答-------------------- 没人回复啊   有木有 哪位大哥 指点下啊~~~~~~~~~~~~ --------------------编程问答-------------------- 设置renderer的代码有问题。你把所有column的renderer都设置了,Boolean的那个column也被设置了,checkbox就没有了。

看这里的JTable --------------------编程问答--------------------
引用 2 楼 huntor 的回复:
设置renderer的代码有问题。你把所有column的renderer都设置了,Boolean的那个column也被设置了,checkbox就没有了。

看这里的JTable

我看了 但是 那里没有源码~~~~~~我把那个包下来试了下 结果效果更差~~~~~~~~~不仅看不到隔行的颜色显示 而且连格子的线都看不清~~~~ --------------------编程问答--------------------
引用 2 楼 huntor 的回复:
设置renderer的代码有问题。你把所有column的renderer都设置了,Boolean的那个column也被设置了,checkbox就没有了。

看这里的JTable

那个JTable 貌似不能对整行进行操作 所以要每一格都设置颜色才能隔行显示颜色~~~~~~但是设置了颜色 就不能显示checkbox了 好纠结~~~~~~
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,