Skip to content

已阅读

0%

JTableHeader自定义表头cell

Java Swing

通过通过JTableHeader中setDefaultRenderer重新实现TableCellHeaderRenderer的方式实现自定义样式

标签:
Swing
发布于 2024年4月17日
更新于 2024年4月17日

实现

第一步

通过JTable中getTableHeader()获取表头对象JTableHeader

第二步

通过JTableHeader中setDefaultRenderer(TableCellRenderer defaultRenderer)来重写表头单元格渲染器

java
/**
 * 自定义表头cell类,继承 DefaultTableCellHeaderRenderer类
 * 该类实际也继承 JLabel实现接口 TableCellRenderer
 * 重写 getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)方法即可
 */
public class CustomTableCellHeaderRenderer extends DefaultTableCellHeaderRenderer {

    @Override
 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
    Jlabel label = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
    // 可以进行一些label相关的设置例如居中
    label.setHorizontalAlignment(SwingConstants.CENTER);
    return label;
 }

}

Last updated: