KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > snow > sortabletable > RowHeaderExtractorWrapperTableModel


1 package snow.sortabletable;
2
3
4 import java.awt.*;
5 import java.awt.event.*;
6 import javax.swing.*;
7 import javax.swing.event.*;
8 import javax.swing.table.*;
9
10 import java.util.*;
11
12
13 /** wraps around a table model to extract first column of rest
14 */

15 public class RowHeaderExtractorWrapperTableModel extends FineGrainTableModel
16 {
17   boolean first;
18   FineGrainTableModel baseModel;
19   int numberOfColumnHeaders;
20
21   public RowHeaderExtractorWrapperTableModel(boolean first, FineGrainTableModel baseModel, int numberOfColumnHeaders)
22   {
23     this.first = first;
24     this.baseModel = baseModel;
25     this.numberOfColumnHeaders = numberOfColumnHeaders;
26
27     // give the events of the bassModel to this
28
baseModel.addTableModelListener(new TableModelListener()
29     {
30        public void tableChanged(TableModelEvent e)
31        {
32           fireTableDataChanged();
33        }
34     });
35   } // Constructor
36

37
38   private int getColumn(int col)
39   {
40     if(first) return col;
41     return col + numberOfColumnHeaders;
42   }
43
44   // AbstractTableModel impl
45
//
46

47
48
49   public int getRowCount() {return baseModel.getRowCount();}
50
51   public int getColumnCount()
52   {
53     return (first?
54        numberOfColumnHeaders
55       :baseModel.getColumnCount()-numberOfColumnHeaders);
56   }
57
58
59   public Object JavaDoc getValueAt(int row, int column)
60   {
61      return baseModel.getValueAt(row, getColumn(column));
62   }
63
64   public boolean hitForTextSearch(int row, String JavaDoc str)
65   {
66      return baseModel.hitForTextSearch(row, str, null);
67   }
68
69   public boolean isCellEditable(int row, int col)
70   {
71      return baseModel.isCellEditable(row, getColumn(col));
72   }
73
74   public void setValueAt(Object JavaDoc val, int row, int col)
75   {
76      super.setValueAt(val, row, getColumn(col));
77   }
78
79   public String JavaDoc getColumnName(int column)
80   {
81      return baseModel.getColumnName( getColumn(column) );
82
83   }
84
85   public Class JavaDoc getColumnClass(int col)
86   {
87      return baseModel.getColumnClass(getColumn(col));
88   }
89
90   public int compareForColumnSort(int pos1, int pos2, int col)
91   {
92     return baseModel.compareForColumnSort(pos1, pos2, getColumn(col) );
93   }
94
95   public int getPreferredColumnWidth(int col)
96   {
97     return baseModel.getPreferredColumnWidth( getColumn(col) );
98   }
99
100
101
102 } // RowHeaderExtractorWrapperTableModel
Popular Tags