JavaTM 2 Platform
Standard Ed. 5.0

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 に適しています。JDK バージョン 1.4 以降、すべての JavaBeans の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。

関連項目:
TableModel, getDataVector()

フィールドの概要
protected  Vector columnIdentifiers
          列識別子の Vector です。
protected  Vector dataVector
          Object 値の一連の Vectors の中の Vector です。
 
クラス javax.swing.table.AbstractTableModel から継承されたフィールド
listenerList
 
コンストラクタの概要
DefaultTableModel()
          列が 0、行が 0 のテーブルであるデフォルトの DefaultTableModel を構築します。
DefaultTableModel(int rowCount, int columnCount)
          rowCount および columnCountnull オブジェクト値で DefaultTableModel を構築します。
DefaultTableModel(Object[][] data, Object[] columnNames)
          DefaultTableModel を構築し、datacolumnNamessetDataVector メソッドに渡すことにより、そのテーブルを初期化します。
DefaultTableModel(Object[] columnNames, int rowCount)
          columnNames にある要素と同じ数の列、および rowCountnull オブジェクト値で DefaultTableModel を構築します。
DefaultTableModel(Vector columnNames, int rowCount)
          columnNames にある要素と同じ数の列、および rowCountnull オブジェクト値で 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 start, int end, int to)
          モデルで、start から end までの 1 行または複数行を、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)
          現在の dataVector インスタンス変数を、新しい行の Vector である dataVector に置き換えます。
 void setNumRows(int rowCount)
          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, getTableModelListeners, 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 rowCount,
                         int columnCount)
rowCount および columnCountnull オブジェクト値で DefaultTableModel を構築します。

パラメータ:
rowCount - テーブルが保持する行数
columnCount - テーブルが保持する列数
関連項目:
setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Vector columnNames,
                         int rowCount)
columnNames にある要素と同じ数の列、および rowCountnull オブジェクト値で DefaultTableModel を構築します。各列の名前は、columnNames ベクタからとられます。

パラメータ:
columnNames - 新しい列の名前を格納する vectornull の場合、モデルは列を持たない
rowCount - テーブルが保持する行数
関連項目:
setDataVector(java.util.Vector, java.util.Vector), setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Object[] columnNames,
                         int rowCount)
columnNames にある要素と同じ数の列、および rowCountnull オブジェクト値で DefaultTableModel を構築します。各列の名前は、columnNames 配列からとられます。

パラメータ:
columnNames - 新しい列の名前を格納する arraynull の場合、モデルは列を持たない
rowCount - テーブルが保持する行数
関連項目:
setDataVector(java.util.Vector, java.util.Vector), setValueAt(java.lang.Object, int, int)

DefaultTableModel

public DefaultTableModel(Vector data,
                         Vector columnNames)
DefaultTableModel を構築し、datacolumnNamessetDataVector メソッドに渡すことにより、テーブルを初期化します。

パラメータ:
data - テーブルのデータ。Object 値を格納する一連の Vector の中の Vector
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 dataVector,
                          Vector columnIdentifiers)
現在の dataVector インスタンス変数を、新しい行の Vector である dataVector に置き換えます。dataVector 内では、各行はいくつかの Object 値からなる Vector によって表されます。columnIdentifiers は、新しい列の名前です。columnIdentifiers の最初の名前は、dataVector の列 0 に対応します。dataVector の各行は、長すぎる場合は Vector を縮め、短すぎる場合は null 値を追加して、columnIdentifiers の列数と一致するように調整されます。

dataVector に対して null 値を渡すと、指定しない動作になり、例外が発生するおそれがあります。

パラメータ:
dataVector - 新規のデータベクタ
columnIdentifiers - 列の名前
関連項目:
getDataVector()

setDataVector

public void setDataVector(Object[][] dataVector,
                          Object[] columnIdentifiers)
dataVector インスタンス変数の値を、配列 dataVector の値で置き換えます。Object[][] 配列の最初のインデックスは行のインデックス、2 番目は列のインデックスです。columnIdentifiers は新しい列の名前です。

パラメータ:
dataVector - 新規のデータベクタ
columnIdentifiers - 列の名前
関連項目:
setDataVector(Vector, Vector)

newDataAvailable

public void newDataAvailable(TableModelEvent event)
fireTableChanged メソッドと同じです。

パラメータ:
event - 変更イベント

newRowsAdded

public void newRowsAdded(TableModelEvent e)
新しい行が正しい列の数を持つことを確認します。そのために、このメソッドは VectorsetSize メソッドを使います。setSize メソッドは、長すぎるベクタを縮め、短すぎる場合は null を追加します。また、このメソッドはすべてのリスナーに tableChanged 通知メッセージを送ります。

パラメータ:
e - この TableModelEvent はどこに行が追加されたかを記述する。null の場合、すべての行が新しく追加されたと仮定される
関連項目:
getDataVector()

rowsRemoved

public void rowsRemoved(TableModelEvent event)
fireTableChanged メソッドと同じです。

パラメータ:
event - 変更イベント

setNumRows

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


setRowCount

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

関連項目:
setColumnCount(int)

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 start,
                    int end,
                    int to)
モデルで、start から end までの 1 行または複数行を、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 - 要素のどれかをテーブルの範囲外に移動する場合

removeRow

public void removeRow(int row)
モデルの row にある行を削除します。行の削除の通知がすべてのリスナーに送られます。

パラメータ:
row - 削除される行の行インデックス
例外:
ArrayIndexOutOfBoundsException - 行が無効だった場合

setColumnIdentifiers

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

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

setColumnIdentifiers

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

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

setColumnCount

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

パラメータ:
columnCount - モデルの新規の列数
関連項目:
setColumnCount(int)

addColumn

public void addColumn(Object columnName)
モデルに列を追加します。新しい列の識別子は columnName になります。この識別子の値は null でもかまいません。このメソッドは、すべてのリスナーに tableChanged 通知メッセージを送ります。このメソッドは、null をデータベクタとして使う addColumn(Object, Vector) のカバーです。

パラメータ:
columnName - 追加される列の識別子

addColumn

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

パラメータ:
columnName - 追加される列の識別子
columnData - 追加される列の任意のデータ

addColumn

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

関連項目:
addColumn(Object, Vector)

getRowCount

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

定義:
インタフェース TableModel 内の getRowCount
戻り値:
モデルの行数
関連項目:
TableModel.getColumnCount()

getColumnCount

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

定義:
インタフェース TableModel 内の getColumnCount
戻り値:
モデルの列数
関連項目:
TableModel.getRowCount()

getColumnName

public String getColumnName(int column)
列の名前を返します。

定義:
インタフェース TableModel 内の getColumnName
オーバーライド:
クラス AbstractTableModel 内の getColumnName
パラメータ:
column - 照会される列
戻り値:
columnIdentifiers の適切なメンバの文字列値を使った、この列の名前。columnIdentifiers にこのインデックスのエントリがない場合、スーパークラスが提供するデフォルト名が返される

isCellEditable

public boolean isCellEditable(int row,
                              int column)
パラメータ値に関係なく、true を返します。

定義:
インタフェース TableModel 内の isCellEditable
オーバーライド:
クラス AbstractTableModel 内の isCellEditable
パラメータ:
row - 値が照会される行
column - 値が照会される列
戻り値:
true
関連項目:
setValueAt(java.lang.Object, int, int)

getValueAt

public Object getValueAt(int row,
                         int column)
row および column にあるセルの属性値を返します。

定義:
インタフェース TableModel 内の getValueAt
パラメータ:
row - 値が照会される行
column - 値が照会される列
戻り値:
指定されたセルの Object 値
例外:
ArrayIndexOutOfBoundsException - 指定された行または列が無効だった場合

setValueAt

public void setValueAt(Object aValue,
                       int row,
                       int column)
column および row にあるセルのオブジェクト値を設定します。aValue は新規の値です。このメソッドは、tableChanged 通知を生成します。

定義:
インタフェース TableModel 内の setValueAt
オーバーライド:
クラス AbstractTableModel 内の setValueAt
パラメータ:
aValue - 新規の値。null も可
row - 値が変更される行
column - 値が変更される列
例外:
ArrayIndexOutOfBoundsException - 指定された行または列が無効だった場合
関連項目:
TableModel.getValueAt(int, int), TableModel.isCellEditable(int, int)

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
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。