将表格的第一列作为表头,使用渲染器改变其外观,看起来像表头
实现行标题
table.getColumnModel().getColumn(0).setCellRenderer(new RowHeaderRenderer());
实现行标题
class RowHeaderRenderer implements TableCellRenderer
{
private JLabel label = new JLabel();
// 获取表头的字体、前景色和背景色,用来将Label伪装成表头的样子
private static Font font = (Font) UIManager.get("TableHeader.font");
private static Color fgc = (Color) UIManager.get("TableHeader.foreground");
private static Color bgc = (Color) UIManager.get("TableHeader.background");
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
// TODO Auto-generated method stub
label.setFont(font);
label.setHorizontalAlignment(SwingConstants.CENTER);
label.setText(value.toString());
label.setOpaque(true);
label.setForeground(fgc);
label.setBackground(bgc);
return label;
}
}