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版本开始,所有JavaBeans的长期存储支持已被添加到java.beans包中。 请参阅XMLEncoder 。
| Modifier and Type | Field and Description |
|---|---|
protected EventListenerList |
listenerList
听众列表
|
| Constructor and Description |
|---|
AbstractTableModel() |
| Modifier and Type | Method and Description |
|---|---|
void |
addTableModelListener(TableModelListener l)
将一个监听器添加到每次发生数据模型更改时通知的列表。
|
int |
findColumn(String columnName)
返回一个给定其名称的列。
|
void |
fireTableCellUpdated(int row, int column)
通知该小区的价值的所有监听
[row, column]已经更新。
|
void |
fireTableChanged(TableModelEvent e)
将给定的通知事件转发给所有
TableModelListeners为此表模型的侦听器的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()
通知所有侦听器表的结构已更改。
|
类<?> |
getColumnClass(int columnIndex)
Object.class columnIndex如何返回
columnIndex 。
|
String |
getColumnName(int column)
使用电子表格约定返回列的默认名称:A,B,C,...
|
<T extends EventListener> |
getListeners(类<T> listenerType)
返回当前注册的所有对象的数组
FooListener在这个S
AbstractTableModel 。
|
TableModelListener[] |
getTableModelListeners()
返回在此模型上注册的所有表模型侦听器的数组。
|
boolean |
isCellEditable(int rowIndex, int columnIndex)
返回false。
|
void |
removeTableModelListener(TableModelListener l)
从每次发生数据模型更改时通知的列表中移除侦听器。
|
void |
setValueAt(Object aValue, int rowIndex, int columnIndex)
这个空的实现被提供,所以如果用户的数据模型是不可编辑的,用户就不需要实现这个方法。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetColumnCount, getRowCount, getValueAtprotected EventListenerList listenerList
public String getColumnName(int column)
column ,则返回一个空字符串。
getColumnName在界面
TableModel
column - 正在查询的列
column的字符串
public int findColumn(String columnName)
TableModel接口中,并没有被JTable 。
columnName - 包含要查找的列的名称的字符串
columnName ,如果未找到则为-1
public 类<?> getColumnClass(int columnIndex)
Object.class columnIndex如何返回
columnIndex 。
getColumnClass在界面
TableModel
columnIndex - 正在查询的列
public boolean isCellEditable(int rowIndex,
int columnIndex)
isCellEditable在接口
TableModel
rowIndex - 正在查询的行
columnIndex - 正在查询的列
TableModel.setValueAt(java.lang.Object, int, int)
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
setValueAt在界面
TableModel
aValue - 要分配给单元格的值
rowIndex - 行单元格
columnIndex - 单元格列
TableModel.getValueAt(int, int) ,
TableModel.isCellEditable(int, int)
public void addTableModelListener(TableModelListener l)
addTableModelListener在界面
TableModel
l - TableModelListener
public void removeTableModelListener(TableModelListener l)
removeTableModelListener在接口
TableModel
l - TableModelListener
public TableModelListener[] getTableModelListeners()
TableModelListener s或一个空数组,如果没有表模型侦听器当前注册
addTableModelListener(javax.swing.event.TableModelListener) ,
removeTableModelListener(javax.swing.event.TableModelListener)
public void fireTableDataChanged()
JTable应从头重新绘制表。
表的结构(按列的顺序)被假定为相同。
public void fireTableStructureChanged()
JTable收到此事件并设置其autoCreateColumnsFromModel标志,则会丢弃其所有的表列,并按其在模型中显示的顺序重新分配默认列。
这和setModel(TableModel)上的JTable 。
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 , EventListenerList
public void fireTableChanged(TableModelEvent e)
TableModelListeners为此表模型的侦听器的TableModelListeners。
e - 要转发的事件
addTableModelListener(javax.swing.event.TableModelListener) , TableModelEvent , EventListenerList
public <T extends EventListener> T[] getListeners(类<T> listenerType)
FooListener的所有对象的数组,就是这个AbstractTableModel 。
FooListener使用addFooListener方法注册。
您可以使用类文字指定listenerType参数,例如FooListener.class 。 例如,您可以使用以下代码查询模型m器m:
TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));
如果没有这样的侦听器存在,这个方法返回一个空数组。
listenerType - 所请求的听众的类型;
此参数应指定从java.util.EventListener下降的java.util.EventListener
FooListener的所有对象的数组,如果没有添加此类侦听器,则为空数组
ClassCastException - 如果
listenerType没有指定实现java.util.EventListener的类或
java.util.EventListener
getTableModelListeners()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.