TableColumn column = table.getColumnModel().getColumn(columnIndex);
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setBackground(Color.YELLOW);
table.getColumnModel().getColumn(columnIndex).setCellRenderer(renderer);
public class CustomRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
return component;
}
}
JTableHeader header = table.getTableHeader();
header.setBackground(Color.BLUE);
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
if (row % 2 == 0) {
renderer.setBackground(Color.LIGHT_GRAY);
} else {
renderer.setBackground(Color.WHITE);
}
table.getColumnModel().getColumn(columnIndex).setCellRenderer(renderer);
public class CustomCellEditor extends AbstractCellEditor implements TableCellEditor {
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
Component component = super.getTableCellEditorComponent(table, value, isSelected, row, column);
return component;
}
}
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import java.awt.*;
public class JTableStyleExample extends JFrame {
private JTable table;
public JTableStyleExample() {
DefaultTableModel model = new DefaultTableModel(new Object[][]{{"A", "B", "C"}, {"1", "2", "3"}}, new Object[]{"Column 1", "Column 2", "Column 3"});
table = new JTable(model);
TableColumn column = table.getColumnModel().getColumn(0);
column.setPreferredWidth(100);
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setBackground(Color.YELLOW);
table.getColumnModel().getColumn(1).setCellRenderer(renderer);
JTableHeader header = table.getTableHeader();
header.setBackground(Color.BLUE);
DefaultTableCellRenderer rowRenderer = new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
if (row % 2 == 0) {
component.setBackground(Color.LIGHT_GRAY);
} else {
component.setBackground(Color.WHITE);
}
return component;
}
};
table.setDefaultRenderer(Object.class, rowRenderer);
table.getColumnModel().getColumn(2).setCellEditor(new CustomCellEditor());
add(new JScrollPane(table));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(JTableStyleExample::new);
}
}
class CustomCellEditor extends AbstractCellEditor implements TableCellEditor {
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
Component component = super.getTableCellEditorComponent(table, value, isSelected, row, column);
return component;
}
public Object getCellEditorValue() {
return super.getCellEditorValue();
}
}