方式一:
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);
方式一種表格內容會被背景色所覆蓋,這時采用方式二就會正常顯示。