|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjavax.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 - 套件含新的列名稱的 vectorgetDataVector(),
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 中的 getRowCountTableModel.getColumnCount()public int getColumnCount()
TableModel 中的 getColumnCountTableModel.getRowCount()public String getColumnName(int column)
TableModel 中的 getColumnNameAbstractTableModel 中的 getColumnNamecolumn - 被查詢的列
columnIdentifiers 中適當成員的字元串值。如果 columnIdentifiers 不具有此索引的條目,則返回由父級類別提供的預設名稱
public boolean isCellEditable(int row,
int column)
TableModel 中的 isCellEditableAbstractTableModel 中的 isCellEditablerow - 要查詢其值的行column - 要查詢其值的列
setValueAt(java.lang.Object, int, int)
public Object getValueAt(int row,
int column)
row 和 column 處單元格的屬性值。
TableModel 中的 getValueAtrow - 要查詢其值的行column - 要查詢其值的列
ArrayIndexOutOfBoundsException - 如果給定了無效的 row 或 column
public void setValueAt(Object aValue,
int row,
int column)
column 和 row 處單元格的物件值。aValue 是新值。此方法將產生一個 tableChanged 通知。
TableModel 中的 setValueAtAbstractTableModel 中的 setValueAtaValue - 新值,可以為 nullrow - 要更改其值的行column - 要更改其值的列
ArrayIndexOutOfBoundsException - 如果給定了無效的 row 或 columnTableModel.getValueAt(int, int),
TableModel.isCellEditable(int, int)protected static Vector convertToVector(Object[] anArray)
anArray - 要轉換的陣列
anArray 為 null,則返回 nullprotected 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。