JavaTM 2 Platform
Std. Ed. v1.3

javax.swing.table
クラス DefaultTableModel

java.lang.Object
  |
  +--javax.swing.table.AbstractTableModel
        |
        +--javax.swing.table.DefaultTableModel
すべての実装インタフェース:
Serializable, TableModel

public class DefaultTableModel
extends AbstractTableModel
implements Serializable

セル値のオブジェクトを格納するために、一連の Vectors の中の 1 つの Vector を使う TableModel の実装です。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。

関連項目:
TableModel, getDataVector(), 直列化された形式

フィールドの概要
protected  Vector columnIdentifiers
          列識別子の Vector です。
protected  Vector dataVector
          Object 値の一連の Vectors の中の Vector です。
 
クラス javax.swing.table.AbstractTableModel から継承したフィールド
listenerList
 
コンストラクタの概要
DefaultTableModel()
          列が 0、行が 0 のテーブルであるデフォルトの DefaultTableModel を構築します。
DefaultTableModel(int numRows, int numColumns)
          numRows および numColumnsnull オブジェクト値で DefaultTableModel を構築します。
DefaultTableModel(Object[][] data, Object[] columnNames)
          DefaultTableModel を構築し、datacolumnNamessetDataVector メソッドに渡すことにより、そのテーブルを初期化します。
DefaultTableModel(Object[] columnNames, int numRows)
          columnNames にある要素と同じ数の列、および numRowsnull オブジェクト値で DefaultTableModel を構築します。
DefaultTableModel(Vector columnNames, int numRows)
          columnNames にある要素と同じ数の列、および numRowsnull オブジェクト値で DefaultTableModel を構築します。
DefaultTableModel(Vector data, Vector columnNames)
          DefaultTableModel を構築し、datacolumnNamessetDataVector メソッドに渡すことにより、テーブルを初期化します。
 
メソッドの概要
 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)
          配列と同じオブジェクトを格納する一連のベクタの中の 1 つのベクタを返します。
 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 startIndex, int endIndex, int toIndex)
          モデルの startIndex から endIndex までの行を toIndex に移動します。
 void newDataAvailable(TableModelEvent event)
          fireTableChanged メソッドと同じです。
 void newRowsAdded(TableModelEvent event)
          新しい行が正しい列の数を持つことを確認します。
 void removeRow(int row)
          モデルの row にある行を削除します。
 void rowsRemoved(TableModelEvent event)
          fireTableChanged メソッドと同じです。
 void setColumnCount(int columnCount)
          モデルの列数を設定します。
 void setColumnIdentifiers(Object[] newIdentifiers)
          モデルの列識別子を置き換えます。
 void setColumnIdentifiers(Vector newIdentifiers)
          モデルの列識別子を置き換えます。
 void setDataVector(Object[][] newData, Object[] columnNames)
          dataVector インスタンス変数の値を、配列 newData の値で置き換えます。
 void setDataVector(Vector newData, Vector columnNames)
          現在の dataVector インスタンス変数を、新しい行の Vector である newData に置き換えます。
 void setNumRows(int newSize)
          Java 2 プラットフォーム v1.3 では使用しません。
 void setRowCount(int rowCount)
          モデルの行数を設定します。
 void setValueAt(Object aValue, int row, int column)
          column および row にあるセルのオブジェクト値を設定します。
 
クラス javax.swing.table.AbstractTableModel から継承したメソッド
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, removeTableModelListener
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

dataVector

protected Vector dataVector
Object 値の一連の Vectors の中の Vector です。

columnIdentifiers

protected Vector columnIdentifiers
列識別子の Vector です。
コンストラクタの詳細

DefaultTableModel

public DefaultTableModel()
列が 0、行が 0 のテーブルであるデフォルトの DefaultTableModel を構築します。

DefaultTableModel

public DefaultTableModel(int numRows,
                         int numColumns)
numRows および numColumnsnull オブジェクト値で DefaultTableModel を構築します。
パラメータ:
numRows - テーブルが保持する行数
numColumns - テーブルが保持する列数
関連項目:
setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Vector columnNames,
                         int numRows)
columnNames にある要素と同じ数の列、および numRowsnull オブジェクト値で DefaultTableModel を構築します。各列の名前は、columnNames ベクタからとられます。
パラメータ:
columnNames - 新しい列の名前を格納する vectornull の場合、モデルは列を持たない
numRows - テーブルが保持する行数
関連項目:
setDataVector(java.util.Vector, java.util.Vector), setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Object[] columnNames,
                         int numRows)
columnNames にある要素と同じ数の列、および numRowsnull オブジェクト値で DefaultTableModel を構築します。各列の名前は、columnNames 配列からとられます。
パラメータ:
columnNames - 新しい列の名前を格納する arraynull の場合、モデルは列を持たない
numRows - テーブルが保持する行数
関連項目:
setDataVector(java.util.Vector, java.util.Vector), setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Vector data,
                         Vector columnNames)
DefaultTableModel を構築し、datacolumnNamessetDataVector メソッドに渡すことにより、テーブルを初期化します。
パラメータ:
data - テーブルのデータ
columnNames - 新しい列の名前を格納する vector
関連項目:
getDataVector(), setDataVector(java.util.Vector, java.util.Vector)

DefaultTableModel

public DefaultTableModel(Object[][] data,
                         Object[] columnNames)
DefaultTableModel を構築し、datacolumnNamessetDataVector メソッドに渡すことにより、そのテーブルを初期化します。Object[][] の最初のインデックスは行のインデックス、2 番目は列のインデックスです。
パラメータ:
data - テーブルのデータ
columnNames - 列の名前
関連項目:
getDataVector(), setDataVector(java.util.Vector, java.util.Vector)
メソッドの詳細

getDataVector

public Vector getDataVector()
テーブルのデータ値を格納する一連の 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)

setDataVector

public void setDataVector(Vector newData,
                          Vector columnNames)
現在の dataVector インスタンス変数を、新しい行の Vector である newData に置き換えます。columnNames は、新しい列の名前です。columnNames の最初の名前は、newData の列 0 に対応します。newData の各行は、長すぎる場合は Vector を縮め、短すぎる場合は null 値を追加して、columnNames の列数に一致するように調整されます。

パラメータ:
newData - 新規のデータベクタ
columnNames - 列の名前
関連項目:
newDataAvailable(javax.swing.event.TableModelEvent), getDataVector()

setDataVector

public void setDataVector(Object[][] newData,
                          Object[] columnNames)
dataVector インスタンス変数の値を、配列 newData の値で置き換えます。Object[][] 配列の最初のインデックスは行のインデックス、2 番目は列のインデックスです。columnNames は新しい列の名前です。
パラメータ:
newData - 新規のデータベクタ
columnNames - 列の名前
関連項目:
setDataVector(Vector, Vector)

newDataAvailable

public void newDataAvailable(TableModelEvent event)
fireTableChanged メソッドと同じです。
パラメータ:
event - 変更イベント

newRowsAdded

public void newRowsAdded(TableModelEvent event)
新しい行が正しい列の数を持つことを確認します。そのために、このメソッドは VectorsetSize メソッドを使います。setSize メソッドは、長すぎるベクタを縮め、短すぎる場合は null を追加します。また、このメソッドはすべてのリスナーに tableChanged 通知メッセージを送ります。
パラメータ:
event - この TableModelEvent はどこに行が追加されたかを記述する。null の場合、すべての行が新しく追加されたと仮定される
関連項目:
getDataVector()

rowsRemoved

public void rowsRemoved(TableModelEvent event)
fireTableChanged メソッドと同じです。
パラメータ:
event - 変更イベント

setColumnIdentifiers

public void setColumnIdentifiers(Vector newIdentifiers)
モデルの列識別子を置き換えます。newIdentifier の数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。newIdentifier の数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。

パラメータ:
newIdentifiers - 列識別子のベクタ。null の場合は、モデルの列を 0 に設定する
関連項目:
setNumRows(int)

setColumnIdentifiers

public void setColumnIdentifiers(Object[] newIdentifiers)
モデルの列識別子を置き換えます。newIdentifier の数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。newIdentifier の数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。

パラメータ:
newIdentifiers - 列識別子の配列。null の場合は、モデルの列を 0 に設定する
関連項目:
setNumRows(int)

setNumRows

public void setNumRows(int newSize)
Java 2 プラットフォーム v1.3 では使用しません。代わりに setRowCount を使用してください。

setRowCount

public void setRowCount(int rowCount)
モデルの行数を設定します。新しいサイズが現在のサイズより大きい場合、モデルの最後に新しい行が追加されます。新しいサイズが現在のサイズより小さい場合、インデックス rowCount 以降のすべての行が破棄されます。

関連項目:
setColumnCount(int)

setColumnCount

public void setColumnCount(int columnCount)
モデルの列数を設定します。新しいサイズが現在のサイズより大きい場合、モデルの最後に新しい列が追加されセル値は null になります。新しいサイズが現在のサイズより小さい場合、インデックス columnCount 以降のすべての列が破棄されます。
パラメータ:
columnCount - モデルの新規の列数
関連項目:
setColumnCount(int)

addColumn

public void addColumn(Object columnName)
モデルに列を追加します。新しい列の識別子は columnName になります。このメソッドは、すべてのリスナーに tableChanged 通知メッセージを送ります。このメソッドは、null をデータベクタとして使う addColumn(Object, Vector) のカバーです。
パラメータ:
columnName - 追加される列の識別子
例外:
IllegalArgumentException - columnNamenull の場合

addColumn

public void addColumn(Object columnName,
                      Vector columnData)
モデルに列を追加します。新しい列の識別子は columnName になります。columnData は、列のデータの任意のベクタです。それが null の場合、列の値は null になります。そうでない場合、モデルに新しいデータが追加され、最初の要素は行 0 になります。このメソッドは、すべてのリスナーに tableChanged 通知メッセージを送ります。
パラメータ:
columnName - 追加される列の識別子
columnData - 追加される列の任意のデータ
例外:
IllegalArgumentException - columnNamenull の場合

addColumn

public void addColumn(Object columnName,
                      Object[] columnData)
モデルに列を追加します。新しい列の識別子は columnName になります。columnData は、列のデータの任意の配列です。それが null の場合、列の値は null になります。そうでない場合、モデルに新しいデータが追加され、最初の要素は行 0 になります。このメソッドは、すべてのリスナーに tableChanged 通知メッセージを送ります。
関連項目:
addColumn(Object, Vector)

addRow

public void addRow(Vector rowData)
モデルの最後に行を追加します。新しい行の値は、rowData が指定されていない場合は null になります。行の追加の通知が生成されます。
パラメータ:
rowData - 追加される行の任意のデータ

addRow

public void addRow(Object[] rowData)
モデルの最後に行を追加します。新しい行の値は、rowData が指定されていない場合は null になります。行の追加の通知が生成されます。
パラメータ:
rowData - 追加される行の任意のデータ

insertRow

public void insertRow(int row,
                      Vector rowData)
モデルの row に行を追加します。新しい行の値は、rowData が指定されていない場合は null になります。行の追加の通知が生成されます。
パラメータ:
row - 挿入される行の行インデックス
rowData - 追加される行の任意のデータ
例外:
ArrayIndexOutOfBoundsException - 行が無効だった場合

insertRow

public void insertRow(int row,
                      Object[] rowData)
モデルの row に行を追加します。新しい行の値は、rowData が指定されていない場合は null になります。行の追加の通知が生成されます。
パラメータ:
row - 挿入される行の行インデックス
rowData - 追加される行の任意のデータ
例外:
ArrayIndexOutOfBoundsException - 行が無効だった場合

moveRow

public void moveRow(int startIndex,
                    int endIndex,
                    int toIndex)
モデルの startIndex から endIndex までの行を toIndex に移動します。このメソッドは、すべてのリスナーに tableChanged 通知メッセージを送ります。

  移動例:

1. moveRow(1,3,5);

a|B|C|D|e|f|g|h|i|j|k - 移動前 a|e|f|B|C|D|g|h|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 - 移動後

パラメータ:
startIndex - 移動する行の開始インデックス
endIndex - 移動する行の終了インデックス
toIndex - 行の移動先
例外:
ArrayIndexOutOfBoundsException - インデックスが範囲外の場合。または endIndexstartIndex より小さい場合

removeRow

public void removeRow(int row)
モデルの row にある行を削除します。行の削除の通知がすべてのリスナーに送られます。
パラメータ:
row - 削除される行の行インデックス
例外:
ArrayIndexOutOfBoundsException - 行が無効だった場合

getRowCount

public int getRowCount()
データテーブル内の行の数を返します。
戻り値:
モデルの行数

getColumnCount

public int getColumnCount()
データテーブル内の列の数を返します。
戻り値:
モデルの列数

getColumnName

public String getColumnName(int column)
列の名前を返します。
オーバーライド:
クラス AbstractTableModel 内の getColumnName
戻り値:
columnIdentifiers の適切なメンバの文字列値を使ったこの列の名前。columnIdentifiersnull の場合、またはこのインデックスのエントリがない場合、スーパークラスが提供するデフォルト名が返される

isCellEditable

public boolean isCellEditable(int row,
                              int column)
パラメータ値に関係なく、true を返します。
オーバーライド:
クラス AbstractTableModel 内の isCellEditable
パラメータ:
row - 値が照会される行
column - 値が照会される列
戻り値:
true
関連項目:
setValueAt(java.lang.Object, int, int)

getValueAt

public Object getValueAt(int row,
                         int column)
row および column にあるセルの属性値を返します。
パラメータ:
row - 値が照会される行
column - 値が照会される列
戻り値:
指定されたセルの Object 値
例外:
ArrayIndexOutOfBoundsException - 指定された行または列が無効だった場合

setValueAt

public void setValueAt(Object aValue,
                       int row,
                       int column)
column および row にあるセルのオブジェクト値を設定します。aValue は新規の値です。このメソッドは、tableChanged 通知を生成します。
オーバーライド:
クラス AbstractTableModel 内の setValueAt
パラメータ:
aValue - 新規の値。null も可
row - 値が変更される行
column - 値が変更される列
例外:
ArrayIndexOutOfBoundsException - 指定された行または列が無効だった場合

convertToVector

protected static Vector convertToVector(Object[] anArray)
配列と同じオブジェクトを格納するベクタを返します。
パラメータ:
anArray - 変換される配列
戻り値:
新規のベクタ。anArraynull の場合、null が返される

convertToVector

protected static Vector convertToVector(Object[][] anArray)
配列と同じオブジェクトを格納する一連のベクタの中の 1 つのベクタを返します。
パラメータ:
anArray - 変換される double 配列
戻り値:
新規のベクタ。anArraynull の場合、null が返される

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.