| 
JavaTM 2 Platform Standard Ed. 5.0  | 
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjavax.swing.table.AbstractTableModel
public abstract class AbstractTableModel
此抽象类为 TableModel 接口中的大多数方法提供默认实现。它负责管理侦听器,并为生成 TableModelEvents 以及将其调度到侦听器提供方便。要创建一个具体的 TableModel 作为 AbstractTableModel 的子类,只需提供对以下三个方法的实现:
  
public int getRowCount(); public int getColumnCount(); public Object getValueAt(int row, int column);
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder。
| 字段摘要 | |
|---|---|
protected  EventListenerList | 
listenerList
侦听器的列表  | 
| 构造方法摘要 | |
|---|---|
AbstractTableModel()
 | 
|
| 方法摘要 | ||
|---|---|---|
 void | 
addTableModelListener(TableModelListener l)
每次数据模型发生更改时,就向被通知的列表添加一个侦听器。  | 
|
 int | 
findColumn(String columnName)
返回具有给定名称的列。  | 
|
 void | 
fireTableCellUpdated(int row,
                     int column)
通知所有侦听器,已更新 [row, column] 处的单元格值。 | 
|
 void | 
fireTableChanged(TableModelEvent e)
将给定的通知事件转发到所有将自身注册为此表模型的侦听器的 TableModelListeners。 | 
|
 void | 
fireTableDataChanged()
通知所有侦听器,表的所有行单元格值可能已更改。  | 
|
 void | 
fireTableRowsDeleted(int firstRow,
                     int lastRow)
通知所有侦听器,已删除范围在 [firstRow, lastRow](包括)的行。 | 
|
 void | 
fireTableRowsInserted(int firstRow,
                      int lastRow)
通知所有侦听器,已插入范围在 [firstRow, lastRow](包括)的行。 | 
|
 void | 
fireTableRowsUpdated(int firstRow,
                     int lastRow)
通知所有侦听器,已更新范围在 [firstRow, lastRow](包括)的行。 | 
|
 void | 
fireTableStructureChanged()
通知所有侦听器,表的结构已更改。  | 
|
 Class<?> | 
getColumnClass(int columnIndex)
返回 Object.class 而不管 columnIndex 是多少。 | 
|
 String | 
getColumnName(int column)
返回列默认名称,其中列使用以下工作表约定:A、B、C……Z、AA、AB 等等。  | 
|
 | 
getListeners(Class<T> listenerType)
返回一个包含当前注册为此 AbstractTableModel 上的 FooListener 的所有对象的数组。 | 
|
 TableModelListener[] | 
getTableModelListeners()
返回一个包含在此模型上注册的所有表模型侦听器的数组。  | 
|
 boolean | 
isCellEditable(int rowIndex,
               int columnIndex)
返回 false。  | 
|
 void | 
removeTableModelListener(TableModelListener l)
每次数据模型发生更改时,就从被通知的列表移除一个侦听器。  | 
|
 void | 
setValueAt(Object aValue,
           int rowIndex,
           int columnIndex)
由于提供了此空实现,因此,如果用户的数据模型是不可编辑的,则他们不必实现此方法。  | 
|
| 从类 java.lang.Object 继承的方法 | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| 从接口 javax.swing.table.TableModel 继承的方法 | 
|---|
getColumnCount, getRowCount, getValueAt | 
| 字段详细信息 | 
|---|
protected EventListenerList listenerList
| 构造方法详细信息 | 
|---|
public AbstractTableModel()
| 方法详细信息 | 
|---|
public String getColumnName(int column)
column,则返回一个空字符串。
TableModel 中的 getColumnNamecolumn - 被查询的列
column 默认名称的字符串public int findColumn(String columnName)
TableModel 接口中,也不被 JTable 使用。
columnName - 包含要查找的列名称的字符串
columnName 的列,如果未找到该列,则返回 -1public Class<?> getColumnClass(int columnIndex)
Object.class 而不管 columnIndex 是多少。
TableModel 中的 getColumnClasscolumnIndex - 被查询的列
public boolean isCellEditable(int rowIndex,
                              int columnIndex)
TableModel 中的 isCellEditablerowIndex - 被查询的行columnIndex - 被查询的列
TableModel.setValueAt(java.lang.Object, int, int)
public void setValueAt(Object aValue,
                       int rowIndex,
                       int columnIndex)
TableModel 中的 setValueAtaValue - 要分配给单元格的值rowIndex - 单元格所在行columnIndex - 单元格所在列TableModel.getValueAt(int, int), 
TableModel.isCellEditable(int, int)public void addTableModelListener(TableModelListener l)
TableModel 中的 addTableModelListenerl - TableModelListenerpublic void removeTableModelListener(TableModelListener l)
TableModel 中的 removeTableModelListenerl - TableModelListenerpublic TableModelListener[] getTableModelListeners()
TableModelListener,如果当前没有已注册的表模型侦听器,则返回一个空数组addTableModelListener(javax.swing.event.TableModelListener), 
removeTableModelListener(javax.swing.event.TableModelListener)public void fireTableDataChanged()
JTable 应该从头开始重新绘制该表。假定表的结构(如同列的顺序)是相同的。
TableModelEvent, 
EventListenerList, 
JTable.tableChanged(TableModelEvent)public void fireTableStructureChanged()
JTable 接收此事件,并且设置了其 autoCreateColumnsFromModel 标志,则它丢弃之前具有的所有表列,并按列在模型中出现的顺序重新分配默认列。这与对 JTable 调用 setModel(TableModel) 具有相同的效果。
TableModelEvent, 
EventListenerList
public void fireTableRowsInserted(int firstRow,
                                  int lastRow)
[firstRow, lastRow](包括)的行。
firstRow - 第一行lastRow - 最后一行TableModelEvent, 
EventListenerList
public void fireTableRowsUpdated(int firstRow,
                                 int lastRow)
[firstRow, lastRow](包括)的行。
firstRow - 第一行lastRow - 最后一行TableModelEvent, 
EventListenerList
public void fireTableRowsDeleted(int firstRow,
                                 int lastRow)
[firstRow, lastRow](包括)的行。
firstRow - 第一行lastRow - 最后一行TableModelEvent, 
EventListenerList
public void fireTableCellUpdated(int row,
                                 int column)
[row, column] 处的单元格值。
row - 已更新的单元格所在行column - 已更新的单元格所在列TableModelEvent, 
EventListenerListpublic void fireTableChanged(TableModelEvent e)
TableModelListeners。
e - 要转发的事件addTableModelListener(javax.swing.event.TableModelListener), 
TableModelEvent, 
EventListenerListpublic <T extends EventListener> T[] getListeners(Class<T> listenerType)
AbstractTableModel 上的 FooListener 的所有对象的数组。FooListener 是用 addFooListener 方法注册的。
 
可以使用 class 字面值(如 FooListener.class)来指定 listenerType 参数。例如,可以通过以下代码查询模型 m,以获得其表模型侦听器:
 
TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));如果不存在这样的侦听器,则此方法将返回一个空数组。
listenerType - 所请求侦听器的类型;此参数应该指定一个从 java.util.EventListener 继承的接口
FooListener 的所有对象组成的数组,如果没有添加这样的侦听器,则返回一个空数组
ClassCastException - 如果 listenerType 没有指定实现 java.util.EventListener 的类或接口getTableModelListeners()
  | 
JavaTM 2 Platform Standard Ed. 5.0  | 
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。