DefaultTableCellRenderer 自定义
方式一:
1 DefaultTableCellRenderer render = new DefaultTableCellRenderer(); 2 render.setHorizontalAlignment(SwingConstants.CENTER); 3 render.setForeground(Color.WHITE); 4 for (int i = 0; i < HEADER_ITEM.length; i++) { 5 tableData.getColumn(HEADER_ITEM[i]).setCellRenderer(render); 6 }
方式二:
1 for (int i = 0; i < HEADER_ITEM.length; i++) { 2 tableData.getColumn(HEADER_ITEM[i]).setCellRenderer(new DefaultTableCellRenderer() { 3 public void setValue(Object value) { 4 setForeground(Color.WHITE); 5 setText((value == null) ? "" : value.toString()); 6 setHorizontalAlignment(SwingConstants.CENTER); 7 } 8 9 }); 10 }
方式一和方式二在展现表格效果上没什么区别,区别在于给表格添加选中行的背景色时
tableData.setSelectionBackground(Color.RED);
方式一种表格内容会被背景色所覆盖,这时采用方式二就会正常显示。