当前位置: 代码迷 >> J2SE >> TableCellRenderer使用有关问题
  详细解决方案

TableCellRenderer使用有关问题

热度:71   发布时间:2016-04-24 00:55:25.0
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;    }
  相关解决方案