첫번째로 할수 있는 방법은 일단 JTable을 생성하시면 javax.swing.table.DefaultTableCellRenderer을
얻을수 있습니다. 이 default renderer를 이용하는 방법이 있구요.
두번째로 좀더 유연하게 님이 원하시는 모습을 구현하시려면 javax.swing.table.TableCellRenderer interface를
상속받는 새로운 renderer를 만드시는 겁니다.
첫번째 방법의 개략적인 code는
JTable table = new JTable(......); //님이 생성하신 table
DefaultTableCellRenderer render = (DefaultTableCellRenderer) table.getDefaultRenderer(Class c);
render.setBackground(Color c);
render.setForeground(Color c);
//이렇게 하시면 원하는 데이터 type(정확히는 특정 class type)을 가지고 있는 모든 cell의 색을 바꿀수 있구요.
TableCellRenderer render = table.getDefaultRenderer(int row, int column);
render.setBackground(Color c);
render.setForeground(Color c);
//이렇게 하시면 특정 셀(row, column)에 있는 색을 바꿀수 있습니다.
//이걸 for문등으로 돌리면 한개의 row나 column의 색을 바꿀수 있겠죠?
두번째 방법은
javax.swing.table.TableCellRenderer를 상속받은 새로운 renderer class를 만드시고
이 renderer의 "getTableCellRendererComponent(...) method를 override에서 원하시는
사항을 정의해 주시면 됩니다.
이 renderer를 생성하신 table의
"setDefaultRenderer(Class columnClass, TableCellRenderer renderer)" method를 이용하셔서
등록하시면 됩니다..
ps : 만약 java tutorial을 보신다면 <java tutorial directory>/uiswing/components/table.html을
살펴보세요 달랑 한페이지 이지만 JTable에 관해서 충분히 설명하고 있다고 봅니다.
ps : 오히려 Renderer를 하나 만드시는게 더 속편할때도 있습니다.