1、自定义列宽
2、自定义表头排序
3、自定义table Renderer
4.禁止Table列拖动
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);
本文介绍了如何使用Java Swing实现自定义表格功能,包括调整列宽、表头排序、单元格渲染及禁止列拖动等操作。
8658

被折叠的 条评论
为什么被折叠?



