搜档网
当前位置:搜档网 › JAVA JTable 奇数行和偶数行显示不同颜色_我在故我思_百度空间

JAVA JTable 奇数行和偶数行显示不同颜色_我在故我思_百度空间

JAVA JTable 奇数行和偶数行显示不同颜色
public classJTableDemo extendsJTable {

privateColor selectionColor= newColor(207,228,249);//行选择颜色
privateColor evenRowColor= newColor(233,242,241);//奇数行颜色
privateColor oddRowColor= newColor(255,255,255);//偶数行颜色
privateColor gridColor= newColor(236,233,216);//网格颜色
private int rowHeight= 30;//行高度

publicJTableDemo(TableModeltableModel){
super(tableModel);
this.setGridColor(gridColor);
this.setRowHeight(rowHeight);
}

publicTableCellRenderer getCellRenderer(introw, intcolumn) {
return newMyCellRenderer();
}

classMyCellRenderer extendsDefaultTableCellRenderer{

publicComponent getTableCellRendererComponent(JTable table,Object value,booleanisSelected,booleanhasFocus,introw,intcolumn){
Component cell = super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
this.setColor(cell, table, isSelected, hasFocus, row, column);
returncell;
}
/*
* 设置颜色
*/
private voidsetColor(Component component,JTable table,booleanisSelected,booleanhasFocus,introw,intcolumn){
if(isSelected){
component.setBackground(selectionColor);
setBorder(null);//去掉边
}else{
if(row%2 == 0){
component.setBackground(evenRowColor);
}else{
component.setBackground(oddRowColor);
}
}
}
}
public static voidmain(String[] args){
JFrame frame = newJFrame("java Swing Jtable Demo");
//初始化测试数据
String[] tableTitleArray = {"ID","Name","Sex"};
Object[][] body = newObject[6][tableTitleArray.length];
for(inti = 0; i < 6;i++){
body[i][0] = i;
body[i][1] = "张三";
body[i][2] = "男";
}
JTableDemo table = newJTableDemo(newDefaultTableModel(body,tableTitleArray));
frame.getContentPane().add(newJScrollPane(table),BorderLayout.CENTER);

//设置JFrame属性
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(640,480);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}

相关主题