Swing Table上的常用技巧

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);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值