The Java Program: TableTest03.java

  1 import java.awt.*;
  2 import javax.swing.*;
  3 import javax.swing.table.*;
  4 
  5 // requires TableValues
  6 // requires GenderRenderer
  7 // requires CurrencyRenderer
  8 
  9 public class TableTest03 extends JFrame {
 10 
 11    protected JTable table;
 12 
 13    public static void main (String[] args) {
 14       final JFrame frame  = new TableTest03 ();
 15       frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
 16       frame.setSize (400, 135);
 17       frame.setVisible (true);
 18    } 
 19 
 20    public TableTest03 () {
 21       final Container pane = getContentPane();
 22       pane.setLayout(new BorderLayout());
 23 
 24       table = new JTable(new TableValues());
 25       table.setRowSelectionAllowed(false);
 26       table.setColumnSelectionAllowed(true);
 27 
 28       table.setDefaultRenderer(Float.class, new CurrencyRenderer());
 29 
 30       final TableColumnModel tcm = table.getColumnModel();
 31 
 32       // The renderer and the editor are separate
 33       TableColumn tc = tcm.getColumn(TableValues.GENDER);
 34       tc.setCellRenderer(new GenderRenderer());
 35       tc.setCellEditor(new GenderEditor());
 36 
 37       JScrollPane jsp = new JScrollPane(table);
 38       pane.add(jsp, BorderLayout.CENTER);
 39    }
 40 }