- java.lang.Object
- 
- javax.swing.table.AbstractTableModel
- 
- javax.swing.table.DefaultTableModel
 
 
- 
- すべての実装されたインタフェース:
- Serializable,- TableModel
 
 public class DefaultTableModel extends AbstractTableModel implements Serializable セル値のオブジェクトを格納するために、一連のVectorsの中の1つのVectorを使うTableModelの実装です。警告: DefaultTableModelはObjectの列クラスを返します。DefaultTableModelとTableRowSorterを同時に使用すると、String以外のデータ型で使用すると負荷の大きいtoStringが大量に使用されます。DefaultTableModelとTableRowSorterを同時に使用するときは、適切な型を返せるように、getColumnClassをオーバーライドすることを強くお勧めします。警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートが java.beansパッケージに追加されています。XMLEncoderを参照してください。- 関連項目:
- TableModel,- getDataVector()
 
- 
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 protected VectorcolumnIdentifiers列識別子のVectorです。protected Vector<Vector>dataVectorObject値のVectorsの中のVectorです。- 
クラス javax.swing.table.AbstractTableModelで宣言されたフィールドlistenerList
 
- 
 - 
コンストラクタのサマリーコンストラクタ コンストラクタ 説明 DefaultTableModel()列が0、行が0のテーブルであるデフォルトのDefaultTableModelを構築します。DefaultTableModel(int rowCount, int columnCount)rowCountとcolumnCountのオブジェクト値がnullであるDefaultTableModelを構築します。DefaultTableModel(Object[][] data, Object[] columnNames)DefaultTableModelを構築し、dataとcolumnNamesをsetDataVectorメソッドに渡して表を初期化します。DefaultTableModel(Object[] columnNames, int rowCount)nullオブジェクト値のcolumnNamesとrowCountに存在する要素数の列で、DefaultTableModelを構築します。DefaultTableModel(Vector<?> columnNames, int rowCount)nullオブジェクト値のcolumnNamesとrowCountに存在する要素数の列で、DefaultTableModelを構築します。DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)DefaultTableModelを構築し、dataとcolumnNamesをsetDataVectorメソッドに渡して表を初期化します。
 - 
メソッドのサマリー修飾子と型 メソッド 説明 voidaddColumn(Object columnName)モデルに列を追加します。voidaddColumn(Object columnName, Object[] columnData)モデルに列を追加します。voidaddColumn(Object columnName, Vector<?> columnData)モデルに列を追加します。voidaddRow(Object[] rowData)モデルの最後に行を追加します。voidaddRow(Vector<?> rowData)モデルの最後に行を追加します。protected static Vector<Object>convertToVector(Object[] anArray)配列と同じオブジェクトを格納するベクターを返します。protected static Vector<Vector<Object>>convertToVector(Object[][] anArray)配列と同じオブジェクトを格納する一連のベクターの中の1つのベクターを返します。intgetColumnCount()データ・テーブル内の列の数を返します。StringgetColumnName(int column)列の名前を返します。Vector<Vector>getDataVector()テーブルのデータ値を格納する一連のVectorsの中のVectorを返します。intgetRowCount()データ・テーブル内の行の数を返します。ObjectgetValueAt(int row, int column)rowおよびcolumnに位置するセルの属性値を返します。voidinsertRow(int row, Object[] rowData)モデルのrowに行を挿入します。voidinsertRow(int row, Vector<?> rowData)モデルのrowに行を挿入します。booleanisCellEditable(int row, int column)パラメータ値に関係なく、trueを返します。voidmoveRow(int start, int end, int to)モデルで、startからendまでの1行または複数行を、toの位置に移動します。voidnewDataAvailable(TableModelEvent event)fireTableChangedと同等です。voidnewRowsAdded(TableModelEvent e)新しい行の列数が正しいことを確認します。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)現在のdataVectorインスタンス変数を、新しい行のVectorである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
 
- 
 
- 
- 
- 
コンストラクタの詳細- 
DefaultTableModelpublic DefaultTableModel() 列が0、行が0のテーブルであるデフォルトのDefaultTableModelを構築します。
 - 
DefaultTableModelpublic DefaultTableModel(int rowCount, int columnCount)rowCountとcolumnCountのオブジェクト値がnullであるDefaultTableModelを構築します。- パラメータ:
- rowCount- テーブルが保持する行数
- columnCount- テーブルが保持する列数
- 関連項目:
- setValueAt(java.lang.Object, int, int)
 
 - 
DefaultTableModelpublic DefaultTableModel(Vector<?> columnNames, int rowCount) nullオブジェクト値のcolumnNamesとrowCountに存在する要素数の列で、DefaultTableModelを構築します。 各列の名前は、columnNamesベクターからとられます。- パラメータ:
- columnNames- 新しい列の名前を格納する- vector。これが- nullの場合、モデルは列を持たない
- rowCount- テーブルが保持する行数
- 関連項目:
- setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>),- setValueAt(java.lang.Object, int, int)
 
 - 
DefaultTableModelpublic DefaultTableModel(Object[] columnNames, int rowCount) nullオブジェクト値のcolumnNamesとrowCountに存在する要素数の列で、DefaultTableModelを構築します。 各列の名前は、columnNames配列からとられます。- パラメータ:
- columnNames- 新しい列の名前を格納する- array。これが- nullの場合、モデルは列を持たない
- rowCount- テーブルが保持する行数
- 関連項目:
- setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>),- setValueAt(java.lang.Object, int, int)
 
 - 
DefaultTableModelpublic DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames) DefaultTableModelを構築し、dataとcolumnNamesをsetDataVectorメソッドに渡して表を初期化します。- パラメータ:
- data- テーブルのデータ(- Object値の- Vectorの中の- Vector)
- columnNames- 新しい列の名前を格納する- vector
- 関連項目:
- getDataVector(),- setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>)
 
 - 
DefaultTableModelpublic DefaultTableModel(Object[][] data, Object[] columnNames) DefaultTableModelを構築し、dataとcolumnNamesをsetDataVectorメソッドに渡して表を初期化します。Object[][]配列の最初のインデックスは行のインデックス、2番目は列のインデックスです。- パラメータ:
- data- テーブルのデータ
- columnNames- 列の名前
- 関連項目:
- getDataVector(),- setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>)
 
 
- 
 - 
メソッドの詳細- 
getDataVectorpublic Vector<Vector> getDataVector() テーブルのデータ値を格納する一連のVectorsの中のVectorを返します。 外部ベクターに格納されているベクターはそれぞれ単一行の値です。 つまり、行1、列5のセルは次のように指定します。((Vector)getDataVector().elementAt(1)).elementAt(5);- 戻り値:
- テーブルのデータの値を格納する一連のベクターの中のベクター
- 関連項目:
- newDataAvailable(javax.swing.event.TableModelEvent),- newRowsAdded(javax.swing.event.TableModelEvent),- setDataVector(java.util.Vector<? extends java.util.Vector>, java.util.Vector<?>)
 
 - 
setDataVectorpublic void setDataVector(Vector<? extends Vector> dataVector, Vector<?> columnIdentifiers) 現在のdataVectorインスタンス変数を、新しい行のVectorであるdataVectorに置き換えます。dataVector内では、各行はいくつかのObject値からなるVectorとして表されます。columnIdentifiersは新しい列の名前です。columnIdentifiersの最初の名前は、dataVectorの列0にマップされます。dataVectorの各行は、長すぎる場合はVectorを切り詰め、短すぎる場合はnull値を追加して、columnIdentifiersの列数と一致するように調整されます。dataVectorに対してnull値を渡すと、指定しない動作になり、例外が発生するおそれがあります。- パラメータ:
- dataVector- 新規のデータ・ベクター
- columnIdentifiers- 列の名前
- 関連項目:
- getDataVector()
 
 - 
setDataVectorpublic void setDataVector(Object[][] dataVector, Object[] columnIdentifiers) dataVectorインスタンス変数の値を、配列dataVectorの値で置き換えます。Object[][]配列の最初のインデックスは行インデックス、2番目は列インデックスです。columnIdentifiersは新しい列の名前です。- パラメータ:
- dataVector- 新規のデータ・ベクター
- columnIdentifiers- 列の名前
- 関連項目:
- setDataVector(Vector, Vector)
 
 - 
newDataAvailablepublic void newDataAvailable(TableModelEvent event) fireTableChangedと同等です。- パラメータ:
- event- 変更イベント
 
 - 
newRowsAddedpublic void newRowsAdded(TableModelEvent e) 新しい行の列数が正しいことを確認します。 そのために、このメソッドはVectorのsetSizeメソッドを使用します。setSizeメソッドは、長すぎるベクターを切り詰め、短すぎる場合はnullを追加します。 また、このメソッドはすべてのリスナーにtableChanged通知メッセージを送ります。- パラメータ:
- e- この- TableModelEventはどこに行が追加されたかを記述する。- nullの場合、すべての行が新しく追加されたと仮定される
- 関連項目:
- getDataVector()
 
 - 
rowsRemovedpublic void rowsRemoved(TableModelEvent event) fireTableChangedと同等です。- パラメータ:
- event- 変更イベント
 
 - 
setNumRowspublic void setNumRows(int rowCount) Java 2プラットフォーム1.3で廃止されました。 代わりにsetRowCountを使用してください。- パラメータ:
- rowCount- 新しい行数
 
 - 
setRowCountpublic void setRowCount(int rowCount) モデルの行数を設定します。 新しいサイズが現在のサイズより大きい場合、モデルの最後に新しい行が追加されます。新しいサイズが現在のサイズより小さい場合、インデックスrowCount以降のすべての行が破棄されます。- パラメータ:
- rowCount- モデルの行数
- 導入されたバージョン:
- 1.3
- 関連項目:
- setColumnCount(int)
 
 - 
addRowpublic void addRow(Vector<?> rowData) モデルの最後に行を追加します。 新しい行の値は、rowDataが指定されていない場合はnullになります。 行の追加の通知が生成されます。- パラメータ:
- rowData- 追加される行のオプションのデータ
 
 - 
addRowpublic void addRow(Object[] rowData) モデルの最後に行を追加します。 新しい行の値は、rowDataが指定されていない場合はnullになります。 行の追加の通知が生成されます。- パラメータ:
- rowData- 追加される行のオプションのデータ
 
 - 
insertRowpublic void insertRow(int row, Vector<?> rowData)モデルのrowに行を挿入します。 新しい行の値は、rowDataが指定されていない場合はnullになります。 行の追加の通知が生成されます。- パラメータ:
- row- 挿入される行の行インデックス
- rowData- 追加される行のオプションのデータ
- 例外:
- ArrayIndexOutOfBoundsException- 行が無効だった場合
 
 - 
insertRowpublic void insertRow(int row, Object[] rowData)モデルのrowに行を挿入します。 新しい行の値は、rowDataが指定されていない場合はnullになります。 行の追加の通知が生成されます。- パラメータ:
- row- 挿入される行の行インデックス
- rowData- 追加される行のオプションのデータ
- 例外:
- ArrayIndexOutOfBoundsException- 行が無効だった場合
 
 - 
moveRowpublic void moveRow(int start, int end, int to)モデルで、startからendまでの1行または複数行を、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- テーブルの範囲外に移動される要素がある場合
 
 - 
removeRowpublic void removeRow(int row) モデルのrowにある行を削除します。 行の削除の通知がすべてのリスナーに送られます。- パラメータ:
- row- 削除される行の行インデックス
- 例外:
- ArrayIndexOutOfBoundsException- 行が無効だった場合
 
 - 
setColumnIdentifierspublic void setColumnIdentifiers(Vector<?> columnIdentifiers) モデルの列識別子を置き換えます。newIdentifierの数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。newIdentifierの数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。- パラメータ:
- columnIdentifiers- 列識別子のベクター。- nullの場合は、モデルの列を0に設定する
- 関連項目:
- setNumRows(int)
 
 - 
setColumnIdentifierspublic void setColumnIdentifiers(Object[] newIdentifiers) モデルの列識別子を置き換えます。newIdentifierの数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。newIdentifierの数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。- パラメータ:
- newIdentifiers- 列識別子の配列。- nullの場合は、モデルの列を0に設定する
- 関連項目:
- setNumRows(int)
 
 - 
setColumnCountpublic void setColumnCount(int columnCount) モデルの列数を設定します。 新しいサイズが現在のサイズより大きい場合、モデルの最後に新しい列が追加されセル値はnullになります。 新しいサイズが現在のサイズより小さい場合、インデックスcolumnCount以降のすべての列が破棄されます。- パラメータ:
- columnCount- モデルの新規の列数
- 導入されたバージョン:
- 1.3
- 関連項目:
- setColumnCount(int)
 
 - 
addColumnpublic void addColumn(Object columnName) モデルに列を追加します。 新しい列の識別子はcolumnNameになります。この値はnullでもかまいません。 このメソッドは、すべてのリスナーにtableChanged通知メッセージを送ります。 このメソッドは、nullをデータ・ベクターとして使用するaddColumn(Object, Vector)のカバーです。- パラメータ:
- columnName- 追加される列の識別子
 
 - 
addColumnpublic void addColumn(Object columnName, Vector<?> columnData) モデルに列を追加します。 新しい列の識別子はcolumnNameになります。この値はnullでもかまいません。columnDataはその列のオプションのデータ・ベクターです。 それがnullの場合、列の値はnullになります。 それ以外の場合、モデルに新しいデータが追加され、最初の要素は行0などになります。このメソッドは、すべてのリスナーにtableChanged通知メッセージを送ります。- パラメータ:
- columnName- 追加される列の識別子
- columnData- 追加される列のオプションのデータ
 
 - 
addColumnpublic void addColumn(Object columnName, Object[] columnData) モデルに列を追加します。 新しい列の識別子はcolumnNameになります。columnDataはその列のオプションのデータ配列です。 それがnullの場合、列の値はnullになります。 それ以外の場合、モデルに新しいデータが追加され、最初の要素は行0などになります。このメソッドは、すべてのリスナーにtableChanged通知メッセージを送ります。- パラメータ:
- columnName- 新しく作成された列の識別子
- columnData- 列に追加する新しいデータ
- 関連項目:
- addColumn(Object, Vector)
 
 - 
getRowCountpublic int getRowCount() データ・テーブル内の行の数を返します。- 定義:
- getRowCount、インタフェース:- TableModel
- 戻り値:
- モデルの行数
- 関連項目:
- TableModel.getColumnCount()
 
 - 
getColumnCountpublic int getColumnCount() データ・テーブル内の列の数を返します。- 定義:
- getColumnCount、インタフェース:- TableModel
- 戻り値:
- モデルの列数
- 関連項目:
- TableModel.getRowCount()
 
 - 
getColumnNamepublic String getColumnName(int column) 列の名前を返します。- 定義:
- getColumnName、インタフェース:- TableModel
- オーバーライド:
- getColumnName、クラス:- AbstractTableModel
- パラメータ:
- column- 照会される列
- 戻り値:
- columnIdentifiersの適切なメンバーの文字列値を使用したこの列の名前。- columnIdentifiersにこのインデックスのエントリがない場合、スーパー・クラスが提供するデフォルト名が返される。
 
 - 
isCellEditablepublic boolean isCellEditable(int row, int column)パラメータ値に関係なく、trueを返します。- 定義:
- isCellEditable、インタフェース:- TableModel
- オーバーライド:
- isCellEditable、クラス:- AbstractTableModel
- パラメータ:
- row- 値が照会される行
- column- 値が照会される列
- 戻り値:
- true
- 関連項目:
- setValueAt(java.lang.Object, int, int)
 
 - 
getValueAtpublic Object getValueAt(int row, int column) rowおよびcolumnに位置するセルの属性値を返します。- 定義:
- getValueAt、インタフェース:- TableModel
- パラメータ:
- row- 値が照会される行
- column- 値が照会される列
- 戻り値:
- 指定されたセルのObject値
- 例外:
- ArrayIndexOutOfBoundsException- 無効な行または列が指定された場合
 
 - 
setValueAtpublic void setValueAt(Object aValue, int row, int column) columnおよびrowに位置するセルのオブジェクト値を設定します。aValueは新しい値です。 このメソッドはtableChanged通知を生成します。- 定義:
- setValueAt、インタフェース:- TableModel
- オーバーライド:
- setValueAt、クラス:- AbstractTableModel
- パラメータ:
- aValue- 新規の値。nullも可
- row- 値が変更される行
- column- 値が変更される列
- 例外:
- ArrayIndexOutOfBoundsException- 無効な行または列が指定された場合
- 関連項目:
- TableModel.getValueAt(int, int),- TableModel.isCellEditable(int, int)
 
 - 
convertToVectorprotected static Vector<Object> convertToVector(Object[] anArray) 配列と同じオブジェクトを格納するベクターを返します。- パラメータ:
- anArray- 変換される配列
- 戻り値:
- 新規のベクター。anArrayがnullの場合、nullが返される
 
 
- 
 
-