TableCellRenderer使用问题
我想修改表格内一列表现字体为蓝色,有下划线,在执行的时候发现该表格不能选择了,新手求大虾指点。Renderer中代码如下
JLabel t = new JLabel();
Renderer(){
t.setText("<html><u>内容</u></html>");
t.setFont(index.table.getFont());
t.setForeground(Color.blue);
t.setHorizontalAlignment(SwingConstants.CENTER);
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
return t;
}
------解决方案--------------------
如果你是继承DefaultTableCellRenderer 的话,试试看使用父类返回的JLabel
DefaultTableCellRenderer 继承自JLabel,它的getTableCellRendererComponent方法会返回自己
也就是:
Java code
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus,
int row, int column) {
// TODO Auto-generated method stub
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, column);
JLabel label = (JLabel) c;
// 在这个label上设置你要的东西,然后返回
return label;
}