|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.swing.table.AbstractTableModel javax.swing.table.DefaultTableModel
public class DefaultTableModel
這是 TableModel
的一個實作,它使用一個 Vector
來存儲單元格的值物件,該 Vector
由多個 Vector
組成。
警告: DefaultTableModel
返回 Object
的一個列類別。DefaultTableModel
與 TableRowSorter
一起使用時將導致大量使用 toString
,這對於非 String
資料型別代價昂貴。如果與 TableRowSorter
一起使用 DefaultTableModel
,建議最好覆寫 getColumnClass
以返回適當的型別。
警告:此類別的序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行遠端方法調用(Remote Method Invocation,RMI)。從 1.4 版本開始,已在 java.beans
套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder
。
TableModel
,
getDataVector()
欄位摘要 | |
---|---|
protected Vector |
columnIdentifiers
Vector ,由多個列標識符組成。 |
protected Vector |
dataVector
Vector ,由包含多個 Object 值的 Vector 組成。 |
從類別 javax.swing.table.AbstractTableModel 繼承的欄位 |
---|
listenerList |
建構子摘要 | |
---|---|
DefaultTableModel()
建構預設的 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 ,它的列數與 columnNames 中元素的數量相同,並具有 rowCount 行 null 物件值。 |
|
DefaultTableModel(Vector columnNames,
int rowCount)
建構一個 DefaultTableModel ,它的列數與 columnNames 中元素的數量相同,並具有 rowCount 行 null 物件值。 |
|
DefaultTableModel(Vector data,
Vector columnNames)
建構一個 DefaultTableModel ,並通過將 data 和 columnNames 傳遞到 setDataVector 方法來初始化該表。 |
方法摘要 | |
---|---|
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)
返回一個 vector,該 vector 由包含與該陣列相同的物件的多個 vector 組成。 |
int |
getColumnCount()
返回此資料表中的列數。 |
String |
getColumnName(int column)
返回列名稱。 |
Vector |
getDataVector()
返回由多個包含表資料值的 Vector 組成的 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)
無論參數值是多少都返回 true。 |
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 platform v1.3 開始已過時。 |
void |
setRowCount(int rowCount)
設置模型中的行數。 |
void |
setValueAt(Object aValue,
int row,
int column)
設置 column 和 row 處單元格的物件值。 |
從類別 java.lang.Object 繼承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
protected Vector dataVector
Vector
,由包含多個 Object
值的 Vector
組成。
protected Vector columnIdentifiers
Vector
,由多個列標識符組成。
建構子詳細資訊 |
---|
public DefaultTableModel()
DefaultTableModel
,它是一個零列零行的表。
public DefaultTableModel(int rowCount, int columnCount)
rowCount
行和 columnCount
列的 null
物件值的 DefaultTableModel
。
rowCount
- 表的行數columnCount
- 表的列數setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Vector columnNames, int rowCount)
DefaultTableModel
,它的列數與 columnNames
中元素的數量相同,並具有 rowCount
行 null
物件值。每列的名稱都取自 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
中元素的數量相同,並具有 rowCount
行 null
物件值。每列的名稱都取自 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
組成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()
Vector
組成的 Vector
。外層 vector 中包含的每個 vector 都是一行的值。換句話說,要獲得第 1 行、第 5 列的單元格,可以使用以下程式碼:
((Vector)getDataVector().elementAt(1)).elementAt(5);
newDataAvailable(javax.swing.event.TableModelEvent)
,
newRowsAdded(javax.swing.event.TableModelEvent)
,
setDataVector(java.util.Vector, java.util.Vector)
public void setDataVector(Vector dataVector, Vector columnIdentifiers)
Vector
(dataVector
)替換當前的 dataVector
實例變數。每一行都用 dataVector
表示,dataVector
是由多個 Object
值組成的 Vector
。columnIdentifiers
是新列的名稱。columnIdentifiers
中的第一個名稱映射為 dataVector
中第 0 列。將 dataVector
中每一行調整為與 columnIdentifiers
中的列數比對,這通過在 Vector
太長時截短它、在 Vector
太短時添加 null
值來實作。
注意,為 dataVector
傳入 null
值會導致未指定的行為,可能拋出異常。
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
方法來完成的,該方法在 Vector 太長時將其截短,在 Vector 太短時追加 null
。此方法還向所有偵聽器發送 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)
rowData
,則新行將包含 null
值。將產生添加行的通知。
rowData
- 要添加的行資料(可選)public void addRow(Object[] rowData)
rowData
,則新行將包含 null
值。將產生添加行的通知。
rowData
- 要添加的行資料(可選)public void insertRow(int row, Vector rowData)
row
位置插入一行。如果未指定 rowData
,則新行將包含 null
值。將產生添加行的通知。
row
- 要插入的行的行索引rowData
- 要添加的行資料(可選)
ArrayIndexOutOfBoundsException
- 如果 row 無效public void insertRow(int row, Object[] rowData)
row
位置插入一行。如果未指定 rowData
,則新行將包含 null
值。將產生添加行的通知。
row
- 要插入的行的行索引rowData
- 要添加的行資料(可選)
ArrayIndexOutOfBoundsException
- 如果 row 無效public void moveRow(int start, int end, int to)
start
(包含)到 end
(包含)範圍中的一行或多行移到模型中的 to
位置。進行移動操作後,原先索引為 start
的行的索引將變為 to
。此方法將向所有偵聽器發送 tableChanged
通知訊息。
以下是移動操作的範例:1. moveRow(1,3,5); a|B|C|D|e|f|g|h|i|j|k - 移動前 a|e|f|g|h|B|C|D|i|j|k - 移動後
2. moveRow(6,7,1); a|b|c|d|e|f|G|H|i|j|k - 移動前 a|G|H|b|c|d|e|f|i|j|k - 移動後
start
- 要移動的起始行索引end
- 要移動的結束行索引to
- 行要移動到的目標位置
ArrayIndexOutOfBoundsException
- 如果任意元素將被移出該表的範圍public void removeRow(int row)
row
位置的行。向所有偵聽器發送移除行的通知。
row
- 要移除的行的行索引
ArrayIndexOutOfBoundsException
- 如果 row 無效public void setColumnIdentifiers(Vector columnIdentifiers)
newIdentifier
數大於當前的列數,則將新列添加到模型中每一行的結尾。如果 newIdentifier
數小於當前的列數,則丟棄每行結尾處所有多餘的列。
columnIdentifiers
- 列標識符的向量。如果為 null
,則將該模型設置為具有零列setNumRows(int)
public void setColumnIdentifiers(Object[] newIdentifiers)
newIdentifier
數大於當前的列數,則將新列添加到模型中每一行的結尾。如果 newIdentifier
數小於當前的列數,則丟棄每行結尾處所有多餘的列。
newIdentifiers
- 列標識符的陣列。如果為 null
,則將該模型設置為具有零列setNumRows(int)
public void setColumnCount(int columnCount)
null
單元格值。如果新大小小於當前大小,則將丟棄索引 columnCount
處及其之後的所有列。
columnCount
- 模型中新的列數setColumnCount(int)
public void addColumn(Object columnName)
columnName
,它可以為 null。此方法將向所有偵聽器發送 tableChanged
通知訊息。此方法覆寫了 addColumn(Object, Vector)
,它使用 null
作為資料向量。
columnName
- 要添加的列的標識符public void addColumn(Object columnName, Vector columnData)
columnName
,它可以為 null。columnData
是列的可選資料向量。如果它為 null
,則使用 null
值填充該列。否則,將新資料添加到模型中,第一個元素將添加到第 0 行,依此類別推。此方法將向所有偵聽器發送 tableChanged
通知訊息。
columnName
- 要添加的列的標識符columnData
- 要添加的列的資料(可選)public void addColumn(Object columnName, Object[] columnData)
columnName
。columnData
是該列的可選資料陣列。如果它為 null
,則使用 null
值填充該列。否則,將新資料添加到模型中,第一個元素添加到第 0 行,依此類別推。此方法將向所有偵聽器發送 tableChanged
通知訊息。
addColumn(Object, Vector)
public int getRowCount()
TableModel
中的 getRowCount
TableModel.getColumnCount()
public int getColumnCount()
TableModel
中的 getColumnCount
TableModel.getRowCount()
public String getColumnName(int column)
TableModel
中的 getColumnName
AbstractTableModel
中的 getColumnName
column
- 被查詢的列
columnIdentifiers
中適當成員的字元串值。如果 columnIdentifiers
不具有此索引的條目,則返回由父級類別提供的預設名稱public boolean isCellEditable(int row, int column)
TableModel
中的 isCellEditable
AbstractTableModel
中的 isCellEditable
row
- 要查詢其值的行column
- 要查詢其值的列
setValueAt(java.lang.Object, int, int)
public Object getValueAt(int row, int column)
row
和 column
處單元格的屬性值。
TableModel
中的 getValueAt
row
- 要查詢其值的行column
- 要查詢其值的列
ArrayIndexOutOfBoundsException
- 如果給定了無效的 row 或 columnpublic void setValueAt(Object aValue, int row, int column)
column
和 row
處單元格的物件值。aValue
是新值。此方法將產生一個 tableChanged
通知。
TableModel
中的 setValueAt
AbstractTableModel
中的 setValueAt
aValue
- 新值,可以為 nullrow
- 要更改其值的行column
- 要更改其值的列
ArrayIndexOutOfBoundsException
- 如果給定了無效的 row 或 columnTableModel.getValueAt(int, int)
,
TableModel.isCellEditable(int, int)
protected static Vector convertToVector(Object[] anArray)
anArray
- 要轉換的陣列
anArray
為 null
,則返回 null
protected static Vector convertToVector(Object[][] anArray)
anArray
- 要轉換的二維陣列
anArray
為 null
,則返回 null
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。