The Java Program: TableTest04.java
1 import java.awt.*;
2 import java.awt.event.*;
3 import javax.swing.*;
4 import javax.swing.table.*;
5
6
7
8
9
10
11 public class TableTest04 extends JFrame {
12
13 protected JTable table;
14
15 public static void main(String[] args) {
16 final JFrame frame = new TableTest04 ();
17 frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
18 frame.setSize (400, 135);
19 frame.setVisible (true);
20 }
21
22 private static String [] ttt = {
23 "Customer's First Name", "Customer's Last Name", "Customer's Date of Birth",
24 "Customer's Account Balance", "Customer's Gender"
25 };
26
27 public TableTest04() {
28 table = new JTable (new TableValues());
29 table.setRowSelectionAllowed (false);
30 table.setColumnSelectionAllowed (true);
31 table.setDefaultRenderer (Float.class, new CurrencyRenderer());
32
33 final TableColumnModel tcm = table.getColumnModel();
34 final TableColumn gender_column = tcm.getColumn(TableValues.GENDER);
35 gender_column.setCellRenderer(new GenderRenderer());
36 gender_column.setCellEditor(new GenderEditor());
37
38 final MultiLineHeaderRenderer mlhr = new MultiLineHeaderRenderer();
39 final TableColumn balance_column = tcm.getColumn(TableValues.ACCOUNT_BALANCE);
40 balance_column.setHeaderRenderer(mlhr);
41
42 final JTableHeaderToolTips jthtt = new JTableHeaderToolTips(table.getColumnModel());
43 jthtt.setToolTips (ttt);
44 table.setTableHeader(jthtt);
45
46 final Container pane = getContentPane();
47 pane.setLayout (new BorderLayout());
48 pane.add (new JScrollPane (table), BorderLayout.CENTER);
49 }
50 }