01: package net.sf.memoranda.ui.table;
02:
03: /**
04: * In a chain of data manipulators some behaviour is common. TableMap
05: * provides most of this behavour and can be subclassed by filters
06: * that only need to override a handful of specific methods. TableMap
07: * implements TableModel by routing all requests to its model, and
08: * TableModelListener by routing all events to its listeners. Inserting
09: * a TableMap which has not been subclassed into a chain of table filters
10: * should have no effect.
11: *
12: * @version 1.4 12/17/97
13: * @author Philip Milne */
14:
15: import javax.swing.event.TableModelEvent;
16: import javax.swing.event.TableModelListener;
17: import javax.swing.table.AbstractTableModel;
18: import javax.swing.table.TableModel;
19:
20: /*$Id: TableMap.java,v 1.3 2004/01/30 12:17:42 alexeya Exp $*/
21: public class TableMap extends AbstractTableModel implements
22: TableModelListener {
23: protected TableModel model;
24:
25: public TableModel getModel() {
26: return model;
27: }
28:
29: public void setModel(TableModel model) {
30: this .model = model;
31: model.addTableModelListener(this );
32: }
33:
34: // By default, implement TableModel by forwarding all messages
35: // to the model.
36:
37: public Object getValueAt(int aRow, int aColumn) {
38: return model.getValueAt(aRow, aColumn);
39: }
40:
41: public void setValueAt(Object aValue, int aRow, int aColumn) {
42: model.setValueAt(aValue, aRow, aColumn);
43: }
44:
45: public int getRowCount() {
46: return (model == null) ? 0 : model.getRowCount();
47: }
48:
49: public int getColumnCount() {
50: return (model == null) ? 0 : model.getColumnCount();
51: }
52:
53: public String getColumnName(int aColumn) {
54: return model.getColumnName(aColumn);
55: }
56:
57: public Class getColumnClass(int aColumn) {
58: return model.getColumnClass(aColumn);
59: }
60:
61: public boolean isCellEditable(int row, int column) {
62: return model.isCellEditable(row, column);
63: }
64:
65: //
66: // Implementation of the TableModelListener interface,
67: //
68: // By default forward all events to all the listeners.
69: public void tableChanged(TableModelEvent e) {
70: fireTableChanged(e);
71: }
72: }
|