首页>API/SDK参考大全>java参考手册>javax.swing.table>AbstractTableModel
作者:JAVA
阅读:1105次
javax.swing.table
类 AbstractTableModel
java.lang.Objectjavax.swing.table.AbstractTableModel
- 所有已实现的接口:
- Serializable, TableModel
-
直接已知子类:
- DefaultTableModel
public abstract class AbstractTableModel
extends Object
implements TableModel, Serializable
此抽象类为 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 |
| 字段详细信息 |
|---|
listenerList
protected EventListenerList listenerList- 侦听器的列表
| 构造方法详细信息 |
|---|
AbstractTableModel
public AbstractTableModel()| 方法详细信息 |
|---|
getColumnName
public String getColumnName(int column)- 返回列默认名称,其中列使用以下工作表约定:A、B、C……Z、AA、AB 等等。如果无法找到
column,则返回一个空字符串。 - 指定者:
-
接口
TableModel中的
getColumnName
-
接口
-
-
参数:
-
column– 被查询的列 -
包含
column默认名称的字符串
返回:
-
findColumn
public int findColumn(String columnName)
-
返回具有给定名称的列。由于实现是未用过的,因此,如果经常调用此方法,则应该重写此方法。此方法不在
TableModel接口中,也不被
JTable使用。 - 参数:
-
columnName– 包含要查找的列名称的字符串 -
名称为
columnName的列,如果未找到该列,则返回 -1
返回:
-
getColumnClass
public Class<?> getColumnClass(int columnIndex)
-
返回
Object.class而不管
columnIndex是多少。 - 指定者:
-
接口
TableModel中的
getColumnClass
-
接口
-
-
参数:
-
columnIndex– 被查询的列 - Object.class
返回:
-
isCellEditable
public boolean isCellEditable(int rowIndex,
int columnIndex)
- 返回 false。这是所有单元格的默认实现。
- 指定者:
-
接口
TableModel中的
isCellEditable
-
接口
-
-
参数:
-
rowIndex– 被查询的行 -
columnIndex– 被查询的列 - false
- TableModel.setValueAt(java.lang.Object, int, int)
返回:
另请参见:
-
setValueAt
public void setValueAt(Object aValue,
int rowIndex,
int columnIndex)
- 由于提供了此空实现,因此,如果用户的数据模型是不可编辑的,则他们不必实现此方法。
- 指定者:
-
接口
TableModel中的
setValueAt
-
接口
-
-
参数:
-
aValue– 要分配给单元格的值 -
rowIndex– 单元格所在行 -
columnIndex– 单元格所在列 - TableModel.getValueAt(int, int), TableModel.isCellEditable(int, int)
另请参见:
-
addTableModelListener
public void addTableModelListener(TableModelListener l)
- 每次数据模型发生更改时,就向被通知的列表添加一个侦听器。
- 指定者:
-
接口
TableModel中的
addTableModelListener
-
接口
-
-
参数:
-
l– TableModelListener
-
removeTableModelListener
public void removeTableModelListener(TableModelListener l)
- 每次数据模型发生更改时,就从被通知的列表移除一个侦听器。
- 指定者:
-
接口
TableModel中的
removeTableModelListener
-
接口
-
-
参数:
-
l– TableModelListener
-
getTableModelListeners
public TableModelListener[] getTableModelListeners()
- 返回一个包含在此模型上注册的所有表模型侦听器的数组。
- 返回:
-
此模型的所有
TableModelListener,如果当前没有已注册的表模型侦听器,则返回一个空数组 - 1.4
- addTableModelListener(javax.swing.event.TableModelListener), removeTableModelListener(javax.swing.event.TableModelListener)
从以下版本开始:
另请参见:
-
此模型的所有
fireTableDataChanged
public void fireTableDataChanged()
-
通知所有侦听器,表的所有行单元格值可能已更改。行数也可能已更改,并且
JTable应该从头开始重新绘制该表。假定表的结构(如同列的顺序)是相同的。 - 另请参见:
- TableModelEvent, EventListenerList, JTable.tableChanged(TableModelEvent)
fireTableStructureChanged
public void fireTableStructureChanged()
-
通知所有侦听器,表的结构已更改。表中的列数,新列的名称和类型可能与以前的状态不同。如果
JTable接收此事件,并且设置了其
autoCreateColumnsFromModel标志,则它丢弃之前具有的所有表列,并按列在模型中出现的顺序重新分配默认列。这与对
JTable调用
setModel(TableModel)具有相同的效果。 - 另请参见:
- TableModelEvent, EventListenerList
fireTableRowsInserted
public void fireTableRowsInserted(int firstRow,
int lastRow)
-
通知所有侦听器,已插入范围在
[firstRow, lastRow](包括)的行。 - 参数:
-
firstRow– 第一行 -
lastRow– 最后一行 - TableModelEvent, EventListenerList
另请参见:
-
fireTableRowsUpdated
public void fireTableRowsUpdated(int firstRow,
int lastRow)
-
通知所有侦听器,已更新范围在
[firstRow, lastRow](包括)的行。 - 参数:
-
firstRow– 第一行 -
lastRow– 最后一行 - TableModelEvent, EventListenerList
另请参见:
-
fireTableRowsDeleted
public void fireTableRowsDeleted(int firstRow,
int lastRow)
-
通知所有侦听器,已删除范围在
[firstRow, lastRow](包括)的行。 - 参数:
-
firstRow– 第一行 -
lastRow– 最后一行 - TableModelEvent, EventListenerList
另请参见:
-
fireTableCellUpdated
public void fireTableCellUpdated(int row,
int column)
-
通知所有侦听器,已更新
[row, column]处的单元格值。 - 参数:
-
row– 已更新的单元格所在行 -
column– 已更新的单元格所在列 - TableModelEvent, EventListenerList
另请参见:
-
fireTableChanged
public void fireTableChanged(TableModelEvent e)
-
将给定的通知事件转发到所有将自身注册为此表模型的侦听器的
TableModelListeners。 - 参数:
-
e– 要转发的事件 - addTableModelListener(javax.swing.event.TableModelListener), TableModelEvent, EventListenerList
另请参见:
-
getListeners
public <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的类或接口 - 1.3
- getTableModelListeners()
返回:
抛出:
从以下版本开始:
另请参见:
-
上一篇:TableModel
本文标签
AbstractTableModel
今天的文章AbstractTableModel(示例,出错代码)分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/31041.html
