现在的位置: 首页 > 综合 > 正文

Jtable第一列序号突出显示

2018年01月30日 ⁄ 综合 ⁄ 共 971字 ⁄ 字号 评论关闭

Swing开发过程中,经常使用表格,添加数据时,为了美观,每行都有序号,假设我们定义的表格为myTable:

import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableCellRenderer;

/**
 * 表格第一列,序号突出显示
 * @author phx
 *
 */
public class RowHeadRender extends JLabel implements TableCellRenderer {

private static final long serialVersionUID = -77608456654644254L;

public RowHeadRender(JTable table) {
JTableHeader header = table.getTableHeader();
setOpaque(true);//是否是不透明的
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
setHorizontalAlignment(CENTER);
setForeground(header.getForeground());
setBackground(header.getBackground());
setFont(header.getFont());
}

@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
setText(value == null ? "" : value.toString());
return this;
}
}


在初始化表格时,设置table.getColumnModel().getColumn(0).setCellRenderer(new RowHeadRender(myTable));,则第一列就可以突出显示了

抱歉!评论已关闭.