public class DefaultTableModel extends AbstractTableModel implements Serializable
TableModel
使用
Vector
的
Vectors
存储单元值对象的实现。
警告: DefaultTableModel
返回一个Object
柱类。当DefaultTableModel
是用TableRowSorter
这将导致toString
广泛使用,为non-String
数据类型是昂贵的。如果你使用DefaultTableModel
与TableRowSorter
强烈建议你重写getColumnClass
返回适当的类型。
警告:序列化该类的对象与以后的Swing版本不兼容。当前的序列化支持适用于短期贮藏或RMI运行相同Swing版本的应用程序之间。为1.4,为所有JavaBeans™长期存储的支持已被添加到java.beans
包。请看XMLEncoder
。
TableModel
,
getDataVector()
Modifier and Type | Field and Description |
---|---|
protected Vector |
columnIdentifiers
柱的
Vector 标识符。
|
protected Vector |
dataVector
对
Object 值
Vectors 的
Vector 。
|
listenerList
Constructor and Description |
---|
DefaultTableModel()
构建了一个默认的
DefaultTableModel 是零和零排列表。
|
DefaultTableModel(int rowCount, int columnCount)
构建了一个
rowCount 和
null 对象值
columnCount
DefaultTableModel 。
|
DefaultTableModel(Object[][] data, Object[] columnNames)
构建了一个
DefaultTableModel 并初始化表通过
data 和
columnNames 的
setDataVector 方法。
|
DefaultTableModel(Object[] columnNames, int rowCount)
构建了一个
DefaultTableModel 与多列,有
columnNames 和
null 对象值
rowCount 元素。
|
DefaultTableModel(Vector columnNames, int rowCount)
构建了一个
DefaultTableModel 与多列,有
columnNames 和
null 对象值
rowCount 元素。
|
DefaultTableModel(Vector data, Vector columnNames)
构建了一个
DefaultTableModel 并初始化表通过
data 和
columnNames 的
setDataVector 方法。
|
Modifier and Type | Method and Description |
---|---|
void |
addColumn(Object columnName)
向模型中添加一个列。
|
void |
addColumn(Object columnName, Object[] columnData)
向模型中添加一个列。
|
void |
addColumn(Object columnName, Vector columnData)
向模型中添加一个列。
|
void |
addRow(Object[] rowData)
向模型的结尾添加一个行。
|
void |
addRow(Vector rowData)
向模型的结尾添加一个行。
|
protected static Vector |
convertToVector(Object[] anArray)
返回一个包含与数组相同的对象的向量。
|
protected static Vector |
convertToVector(Object[][] anArray)
返回包含与数组相同的对象的向量的向量。
|
int |
getColumnCount()
返回此数据表中的列数。
|
String |
getColumnName(int column)
返回列名称。
|
Vector |
getDataVector()
返回
Vectors 包含表的数据值的
Vector 。
|
int |
getRowCount()
返回此数据表中的行数。
|
Object |
getValueAt(int row, int column)
返回在
row 和
column 细胞属性值。
|
void |
insertRow(int row, Object[] rowData)
在模型
row 插入一行。
|
void |
insertRow(int row, Vector rowData)
在模型
row 插入一行。
|
boolean |
isCellEditable(int row, int column)
无论参数值返回真值。
|
void |
moveRow(int start, int end, int to)
移动一行或多行的范围
start 到
end 模型中的
to 位置。
|
void |
newDataAvailable(TableModelEvent event)
相当于
fireTableChanged 。
|
void |
newRowsAdded(TableModelEvent e)
确保新的行有正确的列数。
|
void |
removeRow(int row)
删除行从模型
row 。
|
void |
rowsRemoved(TableModelEvent event)
相当于
fireTableChanged 。
|
void |
setColumnCount(int columnCount)
设置模型中的列数。
|
void |
setColumnIdentifiers(Object[] newIdentifiers)
在模型中替换列标识符。
|
void |
setColumnIdentifiers(Vector columnIdentifiers)
在模型中替换列标识符。
|
void |
setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
替换值在数组中的值
dataVector
dataVector 实例变量。
|
void |
setDataVector(Vector dataVector, Vector columnIdentifiers)
行新的
Vector 替换当前
dataVector 实例变量,
dataVector 。
|
void |
setNumRows(int rowCount)
过时的java 2平台V1.3。
|
void |
setRowCount(int rowCount)
设置模型中的行数。
|
void |
setValueAt(Object aValue, int row, int column)
设置在
column 和
row 单元格对象的价值。
|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
protected Vector dataVector
Object
值
Vectors
的
Vector
。
protected Vector columnIdentifiers
Vector
标识符。
public DefaultTableModel()
DefaultTableModel
是零和零排列表。
public DefaultTableModel(int rowCount, int columnCount)
rowCount
和
null
对象值
columnCount
DefaultTableModel
。
rowCount
-表格的行数是
columnCount
-列的表的数目是
setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Vector columnNames, int rowCount)
DefaultTableModel
与多列,有
columnNames
和
null
对象值
rowCount
元素。每一列的名字将从
columnNames
向量。
columnNames
含新列的名称
vector
;如果这是
null
那么模型没有列
rowCount
-表格的行数是
setDataVector(java.util.Vector, java.util.Vector)
,
setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Object[] columnNames, int rowCount)
DefaultTableModel
与多列,有
columnNames
和
null
对象值
rowCount
元素。每一列的名字将从
columnNames
阵列。
columnNames
含新列的名称
array
;如果这是
null
那么模型没有列
rowCount
-表格的行数是
setDataVector(java.util.Vector, java.util.Vector)
,
setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Vector data, Vector columnNames)
DefaultTableModel
并初始化表通过
data
和
columnNames
的
setDataVector
方法。
data
-表的数据,一个
Vector
Object
值的
Vector
s
columnNames
含新列的名称
vector
getDataVector()
,
setDataVector(java.util.Vector, java.util.Vector)
public DefaultTableModel(Object[][] data, Object[] columnNames)
DefaultTableModel
并初始化表通过
data
和
columnNames
的
setDataVector
方法。在
Object[][]
数组的第一个索引的行的索引和第二列索引。
data
-数据表
columnNames
-栏目名称
getDataVector()
,
setDataVector(java.util.Vector, java.util.Vector)
public Vector getDataVector()
Vectors
包含表的数据值的
Vector
。在外向量中包含的向量是每一个单一的值行。换句话说,去细胞行1、5列:
((Vector)getDataVector().elementAt(1)).elementAt(5);
public void setDataVector(Vector dataVector, Vector columnIdentifiers)
dataVector
实例变量的行数,新
Vector
dataVector
。每一行代表一
Vector
dataVector
的
Object
值。
columnIdentifiers
是新列的名称。在
columnIdentifiers
第一名称映射到在
dataVector
0柱。在
dataVector
每行是如果它是太长的调整以匹配在
columnIdentifiers
通过截断
Vector
列数,或添加
null
值如果过短。
值得注意的是,通过在一个null
值dataVector
结果在未指定的行为,一个可能的例外。
dataVector
-新的数据载体
columnIdentifiers
-栏目名称
getDataVector()
public void setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
dataVector
dataVector
实例变量。在
Object[][]
数组的第一个索引的行的索引和第二列索引。
columnIdentifiers
是新列的名称。
dataVector
-新的数据载体
columnIdentifiers
-栏目名称
setDataVector(Vector, Vector)
public void newDataAvailable(TableModelEvent event)
fireTableChanged
。
event
-更改事件
public void newRowsAdded(TableModelEvent e)
Vector
削向量太长的
setSize
法完成,并追加
null
s如果他们太短暂。这种方法也发出了一个
tableChanged
通知消息给所有的听众。
e
-这
TableModelEvent
描述所在的行数增加。如果
null
假定所有行新增
getDataVector()
public void rowsRemoved(TableModelEvent event)
fireTableChanged
。
event
-更改事件
public void setNumRows(int rowCount)
setRowCount
相反。
public void setRowCount(int rowCount)
rowCount
大被丢弃。
setColumnCount(int)
public void addRow(Vector rowData)
null
除非
rowData
指定值。正在添加的行的通知将被生成。
rowData
-行添加可选的数据
public void addRow(Object[] rowData)
null
除非
rowData
指定值。正在添加的行的通知将被生成。
rowData
-行添加可选的数据
public void insertRow(int row, Vector rowData)
row
插入一行。新列将包含
null
除非
rowData
指定值。正在添加的行的通知将被生成。
row
-行要插入的行的索引
rowData
-行添加可选的数据
ArrayIndexOutOfBoundsException
-如果行无效
public void insertRow(int row, Object[] rowData)
row
插入一行。新列将包含
null
除非
rowData
指定值。正在添加的行的通知将被生成。
row
-行要插入的行的索引
rowData
-行添加可选的数据
ArrayIndexOutOfBoundsException
-如果行无效
public void moveRow(int start, int end, int to)
start
到
end
模型中的
to
位置一行或多行。搬家后,该行是在索引
start
将在指数
to
。这种方法将发送通知消息给所有听众
tableChanged
。
动作实例:1。moverow(3);一个| B C D E | | | | F G H | | |我| J | K之前一个| E F G H | | | | B C D | | |我| J | K后2。moverow(6,7,1);一个| B C D E | | | | F G H | | |我| J | K之前一个| G | H | B C D E | | | | F |我| J | K后
start
-开始的行的索引被感动
end
-结尾的行的索引被感动
to
-行要移动的目的地
ArrayIndexOutOfBoundsException
-如果任何这些元素会被移出表的范围
public void removeRow(int row)
row
。正在删除的行的通知将发送给所有的侦听器。
row
-行被删除的行的索引
ArrayIndexOutOfBoundsException
-如果行无效
public void setColumnIdentifiers(Vector columnIdentifiers)
newIdentifier
s数大于当前的列数,列模型中的每一行的末尾添加。如果
newIdentifier
s数小于当前列数,所有额外的列在最后一排被丢弃。
columnIdentifiers
-柱标识向量。如果
null
,设置模型零列
setNumRows(int)
public void setColumnIdentifiers(Object[] newIdentifiers)
newIdentifier
s数大于当前的列数,列模型中的每一行的末尾添加。如果
newIdentifier
s数小于当前列数,所有额外的列在最后一排被丢弃。
newIdentifiers
-柱标识符数组。如果
null
,设置模型零列
setNumRows(int)
public void setColumnCount(int columnCount)
null
模型结束。如果新的大小小于当前大小,所有列在索引
columnCount
大被丢弃。
columnCount
模型中的列的新号码
setColumnCount(int)
public void addColumn(Object columnName)
columnName
,这可能是空的。该方法将发送通知消息给所有听众
tableChanged
。这种方法是一种
addColumn(Object, Vector)
采用
null
作为数据载体覆盖。
columnName
-正在添加的列的标识符
public void addColumn(Object columnName, Vector columnData)
columnName
,这可能是空的。
columnData
为列中的数据的可选向量。如果是
null
列满了
null
值。否则,新的数据将被添加到模型中的第一个元素开始要排0,这种方法将发送通知消息给所有听众
tableChanged
。
columnName
-正在添加的列的标识符
columnData
-添加列的可选数据
public void addColumn(Object columnName, Object[] columnData)
columnName
。
columnData
是可选的列数据阵列。如果是
null
列满了
null
值。否则,新的数据将被添加到模型中的第一个元素开始要排0,这种方法将发送通知消息给所有听众
tableChanged
。
public int getRowCount()
getRowCount
接口
TableModel
TableModel.getColumnCount()
public int getColumnCount()
getColumnCount
接口
TableModel
TableModel.getRowCount()
public String getColumnName(int column)
getColumnName
接口
TableModel
getColumnName
方法重写,继承类
AbstractTableModel
column
-被查询的列
columnIdentifiers
名称的字符串值。如果
columnIdentifiers
没有该指标项,返回由父类提供的默认名称。
public boolean isCellEditable(int row, int column)
isCellEditable
接口
TableModel
isCellEditable
方法重写,继承类
AbstractTableModel
row
-行的价值受到质疑
column
的列的值进行查询
setValueAt(java.lang.Object, int, int)
public Object getValueAt(int row, int column)
row
和
column
细胞属性值。
getValueAt
接口
TableModel
row
-行的价值受到质疑
column
的列的值进行查询
ArrayIndexOutOfBoundsException
-如果一个无效的行或列了
public void setValueAt(Object aValue, int row, int column)
column
和
row
单元格对象的价值。
aValue
是新价值。这种方法会产生一个
tableChanged
通知。
setValueAt
接口
TableModel
setValueAt
方法重写,继承类
AbstractTableModel
aValue
-新的价值;这可能是空的
row
-行的值被改变了
column
的列的值是可以改变的
ArrayIndexOutOfBoundsException
-如果一个无效的行或列了
TableModel.getValueAt(int, int)
,
TableModel.isCellEditable(int, int)
protected static Vector convertToVector(Object[] anArray)
anArray
-数组转换
anArray
是
null
,返回
null
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.