java.lang.Object
javax.swing.table.AbstractTableModel
- 所有已实现的接口:
Serializable,TableModel
- 已知子类:
DefaultTableModel
这个抽象类为
TableModel 接口中的大多数方法提供默认实现。它负责监听器的管理,并为生成TableModelEvents并将它们分派给监听器提供一些便利。要创建一个具体的 TableModel 作为 AbstractTableModel 的子类,您只需要为以下三个方法提供实现:
public int getRowCount(); public int getColumnCount(); public Object getValueAt(int row, int column);
Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder 。
-
字段摘要
字段 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述void将监听添加到每次数据模型发生更改时都会收到通知的列表。intfindColumn(String columnName) 返回给定名称的列。voidfireTableCellUpdated(int row, int column) 通知所有监听器[row, column]处的单元格值已更新。void将给定的通知事件转发给所有将自己注册为该表模型的监听器的TableModelListeners。void通知所有监听表格行中的所有单元格值可能已更改。voidfireTableRowsDeleted(int firstRow, int lastRow) 通知所有监听器[firstRow, lastRow]范围内的行(含)已被删除。voidfireTableRowsInserted(int firstRow, int lastRow) 通知所有监听器已插入[firstRow, lastRow]范围内的行(含)。voidfireTableRowsUpdated(int firstRow, int lastRow) 通知所有监听器[firstRow, lastRow]范围内的行(含)已更新。void通知所有监听表的结构已更改。Class<?>getColumnClass(int columnIndex) 返回Object.class而不管columnIndex。getColumnName(int column) 使用电子表格约定返回列的默认名称:A、B、C、...<T extends EventListener>
T[]getListeners(Class<T> listenerType) 返回当前在此AbstractTableModel上注册为FooListener的所有对象的数组。返回在此模型上注册的所有表模型监听的数组。booleanisCellEditable(int rowIndex, int columnIndex) 返回错误。void从每次数据模型发生更改时收到通知的列表中删除监听。voidsetValueAt(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
-
字段详细信息
-
listenerList
听众名单
-
-
构造方法详细信息
-
AbstractTableModel
protected AbstractTableModel()子类调用的构造方法。
-
-
方法详情
-
getColumnName
使用电子表格约定返回列的默认名称:A、B、C、... Z、AA、AB 等。如果找不到column,则返回空字符串。- 指定者:
getColumnName在接口TableModel中- 参数:
column- 被查询的列- 返回:
-
包含默认名称
column的字符串
-
findColumn
返回给定名称的列。实现是幼稚的,因此如果要经常调用此方法,则应覆盖它。此方法不在TableModel接口中,也不被JTable使用。- 参数:
columnName- 包含要定位的列名称的字符串- 返回:
-
带有
columnName的列,如果未找到则为 -1
-
getColumnClass
返回Object.class而不管columnIndex。- 指定者:
getColumnClass在接口TableModel中- 参数:
columnIndex- 被查询的列- 返回:
- 对象类
-
isCellEditable
public boolean isCellEditable(int rowIndex, int columnIndex) 返回错误。这是所有单元格的默认实现。- 指定者:
isCellEditable在接口TableModel中- 参数:
rowIndex- 被查询的行columnIndex- 被查询的列- 返回:
- false
- 参见:
-
setValueAt
提供此空实现是为了让用户在其数据模型不可编辑时不必实现此方法。- 指定者:
setValueAt在接口TableModel中- 参数:
aValue- 分配给单元格的值rowIndex- 单元格行columnIndex- 单元格列- 参见:
-
addTableModelListener
将监听添加到每次数据模型发生更改时都会收到通知的列表。- 指定者:
addTableModelListener在接口TableModel中- 参数:
l- TableModelListener
-
removeTableModelListener
从每次数据模型发生更改时收到通知的列表中删除监听。- 指定者:
removeTableModelListener在接口TableModel中- 参数:
l- TableModelListener
-
getTableModelListeners
返回在此模型上注册的所有表模型监听的数组。- 返回:
-
此模型的所有
TableModelListeners 或空数组(如果当前未注册表模型监听器) - 自从:
- 1.4
- 参见:
-
fireTableDataChanged
public void fireTableDataChanged()通知所有监听器表格行中的所有单元格值可能已更改。行数也可能发生变化,JTable应该从头开始重新绘制表格。假定表的结构(如列的顺序)相同。- 参见:
-
fireTableStructureChanged
public void fireTableStructureChanged()通知所有监听器表的结构已更改。表中的列数,以及新列的名称和类型可能与以前的状态不同。如果JTable接收到此事件并且设置了它的autoCreateColumnsFromModel标志,它会丢弃它拥有的任何表列,并按照它们在模型中出现的顺序重新分配默认列。这与在JTable上调用setModel(TableModel)相同。- 参见:
-
fireTableRowsInserted
public void fireTableRowsInserted(int firstRow, int lastRow) 通知所有监听器已插入[firstRow, lastRow]范围内的行(含)。- 参数:
firstRow- 第一行lastRow- 最后一行- 参见:
-
fireTableRowsUpdated
public void fireTableRowsUpdated(int firstRow, int lastRow) 通知所有监听器[firstRow, lastRow]范围内的行(含)已更新。- 参数:
firstRow- 第一行lastRow- 最后一行- 参见:
-
fireTableRowsDeleted
public void fireTableRowsDeleted(int firstRow, int lastRow) 通知所有监听器[firstRow, lastRow]范围内的行(含)已被删除。- 参数:
firstRow- 第一行lastRow- 最后一行- 参见:
-
fireTableCellUpdated
public void fireTableCellUpdated(int row, int column) 通知所有监听器[row, column]处的单元格值已更新。- 参数:
row- 已更新的单元格行column- 已更新的单元格列- 参见:
-
fireTableChanged
将给定的通知事件转发给所有将自己注册为该表模型的监听器的TableModelListeners。- 参数:
e- 要转发的事件- 参见:
-
getListeners
返回当前在此AbstractTableModel上注册为FooListener的所有对象的数组。FooListener是使用addFooListener方法注册的。您可以使用类文字指定
listenerType参数,例如FooListener.class。例如,您可以使用以下代码查询模型m的表模型监听器:TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));
如果不存在这样的监听器,则此方法返回一个空数组。- 类型参数:
T- 监听器类型- 参数:
listenerType- 请求的监听器类型- 返回:
-
在此组件上注册为
FooListener的所有对象的数组,如果没有添加此类监听器,则为空数组 - 抛出:
ClassCastException- 如果listenerType没有指定实现java.util.EventListener的类或接口- 自从:
- 1.3
- 参见:
-