java.lang.Object
javax.swing.table.AbstractTableModel
javax.swing.table.DefaultTableModel
- 所有已实现的接口:
Serializable,TableModel
这是
TableModel 的一个实现,它使用 Vectors 的 Vector 来存储单元格值对象。
Warning: DefaultTableModel 返回 Object 的列类。当 DefaultTableModel 与 TableRowSorter 一起使用时,这将导致大量使用 toString ,这对于非 String 数据类型来说是昂贵的。如果将 DefaultTableModel 与 TableRowSorter 一起使用,强烈建议您覆盖 getColumnClass 以返回适当的类型。
Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder 。
- 参见:
-
字段摘要
字段在类 javax.swing.table.AbstractTableModel 中声明的字段
listenerList -
构造方法总结
构造方法构造方法描述构造一个默认的DefaultTableModel,它是一个零列零行的表。DefaultTableModel(int rowCount, int columnCount) 使用rowCount和columnCount的null对象值构造一个DefaultTableModel。DefaultTableModel(Object[][] data, Object[] columnNames) 构造一个DefaultTableModel并通过将data和columnNames传递给setDataVector方法来初始化表。DefaultTableModel(Object[] columnNames, int rowCount) 构造一个DefaultTableModel,其列数与null对象值的columnNames和rowCount中的元素数一样多。DefaultTableModel(Vector<?> columnNames, int rowCount) 构造一个DefaultTableModel,其列数与null对象值的columnNames和rowCount中的元素数一样多。DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames) 构造一个DefaultTableModel并通过将data和columnNames传递给setDataVector方法来初始化表。 -
方法总结
修饰符和类型方法描述void向模型添加一列。void向模型添加一列。void向模型添加一列。void在模型末尾添加一行。void在模型末尾添加一行。convertToVector(Object[] anArray) 返回包含与数组相同对象的向量。convertToVector(Object[][] anArray) 返回包含与数组相同对象的向量向量。int返回此数据表中的列数。getColumnName(int column) 返回列名。返回包含表数据值的Vectors的Vector。int返回此数据表中的行数。getValueAt(int row, int column) 返回位于row和column的单元格的属性值。void在模型中的row处插入一行。void在模型中的row处插入一行。booleanisCellEditable(int row, int column) 无论参数值如何,都返回 true。voidmoveRow(int start, int end, int to) 将包含范围start到end的一行或多行移动到模型中的to位置。voidnewDataAvailable(TableModelEvent event) 相当于fireTableChanged。void确保新行具有正确的列数。voidremoveRow(int row) 从模型中删除row处的行。voidrowsRemoved(TableModelEvent event) 相当于fireTableChanged。voidsetColumnCount(int columnCount) 设置模型中的列数。voidsetColumnIdentifiers(Object[] newIdentifiers) 替换模型中的列标识符。voidsetColumnIdentifiers(Vector<?> columnIdentifiers) 替换模型中的列标识符。voidsetDataVector(Object[][] dataVector, Object[] columnIdentifiers) 将dataVector实例变量中的值替换为数组dataVector中的值。voidsetDataVector(Vector<? extends Vector> dataVector, Vector<?> columnIdentifiers) 用新的Vector行dataVector替换当前的dataVector实例变量。voidsetNumRows(int rowCount) 自 Java 2 平台 v1.3 起已过时。voidsetRowCount(int rowCount) 设置模型中的行数。voidsetValueAt(Object aValue, int row, int column) 为位于column和row的单元格设置对象值。在类 javax.swing.table.AbstractTableModel 中声明的方法
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
-
字段详细信息
-
dataVector
Object的Vectors的Vector值。 -
columnIdentifiers
列标识符的Vector。
-
-
构造方法详细信息
-
DefaultTableModel
public DefaultTableModel()构造一个默认的DefaultTableModel,它是一个零列零行的表。 -
DefaultTableModel
public DefaultTableModel(int rowCount, int columnCount) 使用rowCount和columnCount的null对象值构造一个DefaultTableModel。- 参数:
rowCount- 表包含的行数columnCount- 表包含的列数- 参见:
-
DefaultTableModel
构造一个DefaultTableModel,其列数与null对象值的columnNames和rowCount中的元素数一样多。每列的名称将从columnNames向量中获取。- 参数:
columnNames-vector包含新列的名称;如果这是null那么模型没有列rowCount- 表包含的行数- 参见:
-
DefaultTableModel
构造一个DefaultTableModel,其列数与null对象值的columnNames和rowCount中的元素数一样多。每列的名称将从columnNames数组中获取。- 参数:
columnNames-array包含新列的名称;如果这是null那么模型没有列rowCount- 表包含的行数- 参见:
-
DefaultTableModel
构造一个DefaultTableModel并通过将data和columnNames传递给setDataVector方法来初始化表。- 参数:
data- 表的数据,VectorofVectors ofObjectvaluescolumnNames-vector包含新列的名称- 参见:
-
DefaultTableModel
构造一个DefaultTableModel并通过将data和columnNames传递给setDataVector方法来初始化表。Object[][]数组中的第一个索引是行索引,第二个是列索引。- 参数:
data——表的数据columnNames- 列的名称- 参见:
-
-
方法详情
-
getDataVector
返回包含表数据值的Vectors的Vector。包含在外部向量中的向量每个都是一行值。换句话说,要到达第 1 行第 5 列的单元格:((Vector)getDataVector().elementAt(1)).elementAt(5);- 返回:
- 包含表数据值的向量的向量
- 参见:
-
setDataVector
用新的Vector行dataVector替换当前的dataVector实例变量。每行在dataVector中表示为Vector的Object值。columnIdentifiers是新列的名称。columnIdentifiers中的名字映射到dataVector中的第 0 列。dataVector中的每一行都经过调整以匹配columnIdentifiers中的列数,如果太长则截断Vector,或者如果太短则添加null值。请注意,为
dataVector传递一个null值会导致未指定的行为,这可能是一个异常。- 参数:
dataVector- 新的数据向量columnIdentifiers- 列的名称- 参见:
-
setDataVector
将dataVector实例变量中的值替换为数组dataVector中的值。Object[][]数组中的第一个索引是行索引,第二个是列索引。columnIdentifiers是新列的名称。- 参数:
dataVector- 新的数据向量columnIdentifiers- 列的名称- 参见:
-
newDataAvailable
相当于fireTableChanged。- 参数:
event- 变化事件
-
newRowsAdded
确保新行具有正确的列数。这是通过使用Vector中的setSize方法来完成的,该方法截断太长的向量,如果它们太短则附加nulls。此方法还向所有监听器发出tableChanged通知消息。- 参数:
e- 这个TableModelEvent描述了添加行的位置。如果null它假定所有行都是新添加的- 参见:
-
rowsRemoved
相当于fireTableChanged。- 参数:
event- 变化事件
-
setNumRows
public void setNumRows(int rowCount) 自 Java 2 平台 v1.3 起已过时。请改用setRowCount。- 参数:
rowCount- 新的行数
-
setRowCount
public void setRowCount(int rowCount) 设置模型中的行数。如果新大小大于当前大小,则将新行添加到模型的末尾如果新大小小于当前大小,则丢弃索引rowCount和更大的所有行。- 参数:
rowCount- 模型中的行数- 自从:
- 1.3
- 参见:
-
addRow
在模型末尾添加一行。除非指定rowData,否则新行将包含null值。将生成正在添加的行的通知。- 参数:
rowData- 被添加行的可选数据
-
addRow
在模型末尾添加一行。除非指定rowData,否则新行将包含null值。将生成正在添加的行的通知。- 参数:
rowData- 被添加行的可选数据
-
insertRow
在模型中的row处插入一行。除非指定rowData,否则新行将包含null值。将生成正在添加的行的通知。- 参数:
row- 要插入的行的行索引rowData- 被添加行的可选数据- 抛出:
ArrayIndexOutOfBoundsException- 如果该行无效
-
insertRow
在模型中的row处插入一行。除非指定rowData,否则新行将包含null值。将生成正在添加的行的通知。- 参数:
row- 要插入的行的行索引rowData- 被添加行的可选数据- 抛出:
ArrayIndexOutOfBoundsException- 如果该行无效
-
moveRow
public void moveRow(int start, int end, int to) 将包含范围start到end的一行或多行移动到模型中的to位置。移动后,位于索引start的行将位于索引to。此方法将向所有监听器发送tableChanged通知消息。Examples of moves: 1. moveRow(1,3,5); a|B|C|D|e|f|g|h|i|j|k - before a|e|f|g|h|B|C|D|i|j|k - after 2. moveRow(6,7,1); a|b|c|d|e|f|G|H|i|j|k - before a|G|H|b|c|d|e|f|i|j|k - after- 参数:
start- 要移动的起始行索引end- 要移动的结束行索引to- 要移动的行的目的地- 抛出:
ArrayIndexOutOfBoundsException- 如果任何元素将被移出表的范围
-
removeRow
public void removeRow(int row) 从模型中删除row处的行。删除行的通知将发送给所有监听器。- 参数:
row- 要删除的行的行索引- 抛出:
ArrayIndexOutOfBoundsException- 如果该行无效
-
setColumnIdentifiers
替换模型中的列标识符。如果newIdentifier的数量大于当前的列数,则会将新列添加到模型中每一行的末尾。如果newIdentifier的个数小于当前的列数,则丢弃行尾多余的所有列。- 参数:
columnIdentifiers- 列标识符的向量。如果null,将模型设置为零列- 参见:
-
setColumnIdentifiers
替换模型中的列标识符。如果newIdentifier的数量大于当前的列数,则会将新列添加到模型中每一行的末尾。如果newIdentifier的个数小于当前的列数,则丢弃行尾多余的所有列。- 参数:
newIdentifiers- 列标识符数组。如果null,将模型设置为零列- 参见:
-
setColumnCount
public void setColumnCount(int columnCount) 设置模型中的列数。如果新大小大于当前大小,新列将添加到模型的末尾,并带有null个单元格值。如果新大小小于当前大小,则丢弃索引columnCount和更大的所有列。- 参数:
columnCount- 模型中新的列数- 自从:
- 1.3
- 参见:
-
addColumn
向模型添加一列。新列将具有标识符columnName,它可能为空。此方法将向所有监听器发送tableChanged通知消息。此方法是对addColumn(Object, Vector)的覆盖,它使用null作为数据向量。- 参数:
columnName- 正在添加的列的标识符
-
addColumn
向模型添加一列。新列将具有标识符columnName,它可能为空。columnData是该列的可选数据向量。如果是null,该列将填充null个值。否则,新数据将添加到模型中,从第 0 行的第一个元素开始,依此类推。此方法将向所有监听器发送tableChanged通知消息。- 参数:
columnName- 正在添加的列的标识符columnData- 正在添加的列的可选数据
-
addColumn
向模型添加一列。新列的标识符为columnName。columnData是该列的可选数据数组。如果是null,该列将填充null个值。否则,新数据将添加到模型中,从第 0 行的第一个元素开始,依此类推。此方法将向所有监听器发送tableChanged通知消息。- 参数:
columnName- 新创建列的标识符columnData- 要添加到列的新数据- 参见:
-
getRowCount
public int getRowCount()返回此数据表中的行数。- 指定者:
getRowCount在接口TableModel中- 返回:
- 模型中的行数
- 参见:
-
getColumnCount
public int getColumnCount()返回此数据表中的列数。- 指定者:
getColumnCount在接口TableModel中- 返回:
- 模型中的列数
- 参见:
-
getColumnName
返回列名。- 指定者:
getColumnName在接口TableModel中- 重写:
getColumnName在类AbstractTableModel中- 参数:
column- 被查询的列- 返回:
-
使用
columnIdentifiers中适当成员的字符串值为此列命名。如果columnIdentifiers没有该索引的条目,则返回超类提供的默认名称。
-
isCellEditable
public boolean isCellEditable(int row, int column) 无论参数值如何,都返回 true。- 指定者:
isCellEditable在接口TableModel中- 重写:
isCellEditable在类AbstractTableModel中- 参数:
row- 要查询其值的行column- 要查询其值的列- 返回:
- true
- 参见:
-
getValueAt
返回位于row和column的单元格的属性值。- 指定者:
getValueAt在接口TableModel中- 参数:
row- 要查询其值的行column- 要查询其值的列- 返回:
- 指定单元格中的值对象
- 抛出:
ArrayIndexOutOfBoundsException- 如果给出了无效的行或列
-
setValueAt
为位于column和row的单元格设置对象值。aValue是新值。此方法将生成一个tableChanged通知。- 指定者:
setValueAt在接口TableModel中- 重写:
setValueAt在类AbstractTableModel中- 参数:
aValue- 新值;这可以为空row- 要更改其值的行column- 要更改其值的列- 抛出:
ArrayIndexOutOfBoundsException- 如果给出了无效的行或列- 参见:
-
convertToVector
返回包含与数组相同对象的向量。- 参数:
anArray- 要转换的数组- 返回:
-
新向量;如果
anArray是null,返回null
-
convertToVector
返回包含与数组相同对象的向量向量。- 参数:
anArray- 要转换的双精度数组- 返回:
-
向量的新向量;如果
anArray是null,返回null
-