1、自定义列宽
TableColumnModel colModel = table.getColumnModel();
colModel.getColumn(0).setPreferredWidth(70);
colModel.getColumn(1).setPreferredWidth(55);
colModel.getColumn(2).setPreferredWidth(120);
2、自定义表头排序
TableRowSorter rs = (TableRowSorter) table.getRowSorter();
Comparator<Integer> intComparator = new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
};
rs.setComparator(3, intComparator);
3、自定义table Renderer
public class CommonTableCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean cellHasFocus, int row, int column) {
JComponent comp = (JComponent) super.getTableCellRendererComponent(table, value, isSelected,
cellHasFocus, row, column);
//表格的奇数偶数行交叉颜色显示
if (!isSelected) {
if (row % 2 == 0) {
comp.setBackground(UIConsts.HIGHLIGHTER_COLOR);
} else {
comp.setBackground(Color.white);
}
}
//table column里面显示图标和对齐方式
switch (column) {
case PaperTableModel.STATUS_COLUMN:
switch ((EntityStatus) value) {
case VALID:
comp.setIcon(ENABLED_ICON);
setHorizontalAlignment(JLabel.LEADING);
break;
case DISABLED:
comp.setIcon(DISABLED_ICON);
setHorizontalAlignment(JLabel.CENTER);
break;
}
break;
default:
comp.setIcon(null);
break;
}
return comp;
}
}
4.禁止Table列拖动
table.getTableHeader().setReorderingAllowed(false);