Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Implements TableCellRenderer

import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableCellRenderer; public class EvenOddRowCellRenderer extends JFrame {   DefaultTableModel tmodel = new DefaultTableModel(new Object[][] { { "some", "text" },       { "any", "text" }, { "even", "more" }, { "text", "strings" }, { "and", "other" },       { "text", "values" } }, new Object[] { "Column 1", "Column 2" });   public EvenOddRowCellRenderer() {     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     JTable table = new JTable(tmodel);     table.setDefaultRenderer(Object.class, new MyRenderer());     getContentPane().add(new JScrollPane(table), BorderLayout.CENTER);     pack();   }   public static void main(String arg[]) {     new EvenOddRowCellRenderer().setVisible(true);   } } class MyRenderer implements TableCellRenderer {   public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,       boolean hasFocus, int row, int column) {     JTextField editor = new JTextField();     if (value != null)       editor.setText(value.toString());     editor.setBackground((row % 2 == 0) ? Color.white : Color.cyan);     return editor;   } }