jtable隔行以不同颜色显示
//TableRowColor.java
import javax.swing.*;
import java.awt.*;
import javax.swing.table.*;
public class TableRowColor extends JFrame {
String[] columnNames = {"第1列", "第2列", "第3列"};
Object[][] data = {
{
"(1,1)", "(1,2)", "(1,3)"}
, {
"(2,1)", "(2,2)", "(2,3)"}
, {
"(3,1)", "(3,2)", "(3,3)"}
, {
"(4,1)", "(4,2)", "(4,3)"}
,
};
public TableRowColor() {
DefaultTableModel dtm = new DefaultTableModel(data, columnNames);
JTable table = new JTable(dtm);
table = new JTable(dtm) {
public Component prepareRenderer(TableCellRenderer renderer, int row,
int column) {
Component component = super.prepareRenderer(renderer, row, column);
if (row % 2 == 0) { //将row改为column,则分列以不同颜色显示
component.setBackground(Color.white);
}
if (row % 2 == 1) {
component.setBackground(Color.gray);
}
return component;
}
};
JScrollPane scroll = new JScrollPane(table);
this.setContentPane(scroll);
this.setBounds(100, 50, 300, 150);
}
public static void main(String arg[]) {
TableRowColor tes = new TableRowColor();
tes.setVisible(true);
tes.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}