KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > swingwtx > swing > table > AbstractTableModel


1 /*
2    SwingWT
3    Copyright(c)2003-2004, R. Rawson-Tetley
4
5    For more information on distributing and using this program, please
6    see the accompanying "COPYING" file.
7
8    Contact me by electronic mail: bobintetley@users.sourceforge.net
9
10    $Log: AbstractTableModel.java,v $
11    Revision 1.6 2003/12/17 10:57:35 bobintetley
12    JTableHeader implementation plus Table event/model fixes
13
14    Revision 1.5 2003/12/14 09:13:39 bobintetley
15    Added CVS log to source headers
16
17 */

18
19 package swingwtx.swing.table;
20
21 import java.util.Vector JavaDoc;
22
23 import swingwtx.swing.event.TableModelEvent;
24 import swingwtx.swing.event.TableModelListener;
25
26
27 public abstract class AbstractTableModel implements TableModel
28 {
29
30     protected Vector JavaDoc listenerList = new Vector JavaDoc();
31
32     /** MUST OVERRIDE IN SUBCLASS */
33     public String JavaDoc getColumnName(int column) { return null; }
34
35     public int findColumn(String JavaDoc columnName) {
36         for (int i = 0; i < getColumnCount(); i++) {
37             if (columnName.equals(getColumnName(i))) {
38                 return i;
39             }
40         }
41         return -1;
42     }
43
44     /** MUST OVERRIDE IN SUBCLASS */
45     public int getColumnCount() { return 0; }
46
47     public Class JavaDoc getColumnClass(int columnIndex) {
48     return Object JavaDoc.class;
49     }
50
51     public boolean isCellEditable(int rowIndex, int columnIndex) {
52     return false;
53     }
54
55     public void setValueAt(Object JavaDoc aValue, int rowIndex, int columnIndex) {
56     }
57
58     public void addTableModelListener(TableModelListener l) {
59     listenerList.add(l);
60     }
61
62     public void removeTableModelListener(TableModelListener l) {
63     listenerList.remove(l);
64     }
65
66     public Object JavaDoc[] getTableModelListeners() {
67         return listenerList.toArray();
68     }
69
70     public void fireTableDataChanged() {
71         fireTableChanged(new TableModelEvent(this));
72     }
73
74     public void fireTableStructureChanged() {
75         fireTableChanged(new TableModelEvent(this, TableModelEvent.HEADER_ROW));
76     }
77
78     public void fireTableRowsInserted(int firstRow, int lastRow) {
79         fireTableChanged(new TableModelEvent(this, firstRow, lastRow, TableModelEvent.ALL_COLUMNS, TableModelEvent.INSERT));
80     }
81
82     public void fireTableRowsUpdated(int firstRow, int lastRow) {
83         fireTableChanged(new TableModelEvent(this, firstRow, lastRow, TableModelEvent.ALL_COLUMNS, TableModelEvent.UPDATE));
84     }
85
86     public void fireTableRowsDeleted(int firstRow, int lastRow) {
87         fireTableChanged(new TableModelEvent(this, firstRow, lastRow, TableModelEvent.ALL_COLUMNS, TableModelEvent.DELETE));
88     }
89
90     public void fireTableCellUpdated(int row, int column) {
91         fireTableChanged(new TableModelEvent(this, row, row, column));
92     }
93
94     public void fireTableChanged(TableModelEvent e) {
95     Object JavaDoc[] listeners = listenerList.toArray();
96     for (int i = 0; i < listeners.length; i++) {
97             ((TableModelListener) listeners[i]).tableChanged(e);
98         }
99     }
100
101     public Object JavaDoc[] getListeners(Class JavaDoc listenerType) {
102     return listenerList.toArray();
103     }
104 }
105
Popular Tags