クラス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の実装です。

警告: DefaultTableModelObjectの列クラスを返します。 DefaultTableModelTableRowSorterを同時に使用すると、String以外のデータ型で使用すると負荷の大きいtoStringが大量に使用されます。 DefaultTableModelTableRowSorterを同時に使用するときは、適切な型を返せるように、getColumnClassをオーバーライドすることを強くお勧めします。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected Vector
    列識別子のVectorです。
    protected Vector<Vector>
    Object値のVectorsの中のVectorです。

    クラスで宣言されたフィールド AbstractTableModel

    listenerList
    修飾子と型
    フィールド
    説明
    リスナーのリストです。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    列が0、行が0のテーブルであるデフォルトのDefaultTableModelを構築します。
    DefaultTableModel(int rowCount, int columnCount)
    rowCountcolumnCountのオブジェクト値がnullであるDefaultTableModelを構築します。
    DefaultTableModel(Object[][] data, Object[] columnNames)
    DefaultTableModelを構築し、datacolumnNamessetDataVectorメソッドに渡して表を初期化します。
    DefaultTableModel(Object[] columnNames, int rowCount)
    nullオブジェクト値のcolumnNamesrowCountに存在する要素数の列で、DefaultTableModelを構築します。
    DefaultTableModel(Vector<?> columnNames, int rowCount)
    nullオブジェクト値のcolumnNamesrowCountに存在する要素数の列で、DefaultTableModelを構築します。
    DefaultTableModel(Vector<? extends 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<Object>
    配列と同じオブジェクトを格納するベクターを返します。
    protected static Vector<Vector<Object>>
    convertToVector(Object[][] anArray)
    配列と同じオブジェクトを格納する一連のベクターの中の1つのベクターを返します。
    int
    データ・テーブル内の列の数を返します。
    getColumnName(int column)
    列の名前を返します。
    テーブルのデータ値を格納する一連のVectorsの中のVectorを返します。
    int
    データ・テーブル内の行の数を返します。
    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
    fireTableChangedと同等です。
    void
    新しい行の列数が正しいことを確認します。
    void
    removeRow(int row)
    モデルのrowにある行を削除します。
    void
    fireTableChangedと同等です。
    void
    setColumnCount(int columnCount)
    モデルの列数を設定します。
    void
    setColumnIdentifiers(Object[] newIdentifiers)
    モデルの列識別子を置き換えます。
    void
    setColumnIdentifiers(Vector<?> columnIdentifiers)
    モデルの列識別子を置き換えます。
    void
    setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
    dataVectorインスタンス変数の値を、配列dataVectorの値で置き換えます。
    void
    setDataVector(Vector<? extends 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に位置するセルのオブジェクト値を設定します。

    クラスで宣言されたメソッド AbstractTableModel

    addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
    修飾子と型
    メソッド
    説明
    void
    データ・モデル変更時の通知対象リストにリスナーを追加します。
    int
    findColumn(String columnName)
    指定された名前の列を返します。
    void
    fireTableCellUpdated(int row, int column)
    [row, column]にあるセルの値が更新されたことを、すべてのリスナーに通知します。
    void
    このテーブル・モデルのリスナーとして登録されているすべてのTableModelListenersに、指定された通知イベントを転送します。
    void
    テーブルの行のすべてのセル値が変更されている可能性があることを、すべてのリスナーに通知します。
    void
    fireTableRowsDeleted(int firstRow, int lastRow)
    [firstRow, lastRow] (これを含む)の範囲で行が削除されたことを、すべてのリスナーに通知します。
    void
    fireTableRowsInserted(int firstRow, int lastRow)
    [firstRow, lastRow] (これを含む)の範囲で行が挿入されたことを、すべてのリスナーに通知します。
    void
    fireTableRowsUpdated(int firstRow, int lastRow)
    [firstRow, lastRow] (これを含む)の範囲で行が更新されたことを、すべてのリスナーに通知します。
    void
    テーブルの構造が変更されたことをすべてのリスナーに通知します。
    getColumnClass(int columnIndex)
    columnIndexにかかわらずObject.classを返します。
    <T extends EventListener>
    T[]
    getListeners(Class<T> listenerType)
    このAbstractTableModelFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。
    このモデルに登録された、すべてのテーブル・モデル・リスナーから成る配列を返します。
    void
    データ・モデル変更時の通知対象リストからリスナーを削除します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • dataVector

      protected Vector<Vector> dataVector
      Object値のVectorsの中のVectorです。
    • columnIdentifiers

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

    • DefaultTableModel

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

      public DefaultTableModel(int rowCount, int columnCount)
      rowCountcolumnCountのオブジェクト値がnullであるDefaultTableModelを構築します。
      パラメータ:
      rowCount - テーブルが保持する行数
      columnCount - テーブルが保持する列数
      関連項目:
    • DefaultTableModel

      public DefaultTableModel(Vector<?> columnNames, int rowCount)
      nullオブジェクト値のcolumnNamesrowCountに存在する要素数の列で、DefaultTableModelを構築します。 各列の名前は、columnNamesベクターからとられます。
      パラメータ:
      columnNames - 新しい列の名前を格納するvector。これがnullの場合、モデルは列を持たない
      rowCount - テーブルが保持する行数
      関連項目:
    • DefaultTableModel

      public DefaultTableModel(Object[] columnNames, int rowCount)
      nullオブジェクト値のcolumnNamesrowCountに存在する要素数の列で、DefaultTableModelを構築します。 各列の名前は、columnNames配列からとられます。
      パラメータ:
      columnNames - 新しい列の名前を格納するarray。これがnullの場合、モデルは列を持たない
      rowCount - テーブルが保持する行数
      関連項目:
    • DefaultTableModel

      public DefaultTableModel(Vector<? extends Vector> data, Vector<?> columnNames)
      DefaultTableModelを構築し、datacolumnNamessetDataVectorメソッドに渡して表を初期化します。
      パラメータ:
      data - テーブルのデータ(Object値のVectorの中のVector)
      columnNames - 新しい列の名前を格納するvector
      関連項目:
    • DefaultTableModel

      public DefaultTableModel(Object[][] data, Object[] columnNames)
      DefaultTableModelを構築し、datacolumnNamessetDataVectorメソッドに渡して表を初期化します。 Object[][]配列の最初のインデックスは行のインデックス、2番目は列のインデックスです。
      パラメータ:
      data - テーブルのデータ
      columnNames - 列の名前
      関連項目:
  • メソッドの詳細

    • getDataVector

      public Vector<Vector> getDataVector()
      テーブルのデータ値を格納する一連のVectorsの中のVectorを返します。 外部ベクターに格納されているベクターはそれぞれ単一行の値です。 つまり、行1、列5のセルは次のように指定します。

      ((Vector)getDataVector().elementAt(1)).elementAt(5);

      戻り値:
      テーブルのデータの値を格納する一連のベクターの中のベクター
      関連項目:
    • setDataVector

      public 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 - 列の名前
      関連項目:
    • setDataVector

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

      public void newDataAvailable(TableModelEvent event)
      fireTableChangedと同等です。
      パラメータ:
      event - 変更イベント
    • newRowsAdded

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

      public void rowsRemoved(TableModelEvent event)
      fireTableChangedと同等です。
      パラメータ:
      event - 変更イベント
    • setNumRows

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

      public void setRowCount(int rowCount)
      モデルの行数を設定します。 新しいサイズが現在のサイズより大きい場合、モデルの最後に新しい行が追加されます。新しいサイズが現在のサイズより小さい場合、インデックスrowCount以降のすべての行が破棄されます。
      パラメータ:
      rowCount - モデルの行数
      導入されたバージョン:
      1.3
      関連項目:
    • 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通知メッセージを送ります。
       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 - テーブルの範囲外に移動される要素がある場合
    • removeRow

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

      public void setColumnIdentifiers(Vector<?> columnIdentifiers)
      モデルの列識別子を置き換えます。 newIdentifierの数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。 newIdentifierの数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。
      パラメータ:
      columnIdentifiers - 列識別子のベクター。 nullの場合は、モデルの列を0に設定する
      関連項目:
    • setColumnIdentifiers

      public void setColumnIdentifiers(Object[] newIdentifiers)
      モデルの列識別子を置き換えます。 newIdentifierの数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。 newIdentifierの数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。
      パラメータ:
      newIdentifiers - 列識別子の配列。 nullの場合は、モデルの列を0に設定する
      関連項目:
    • setColumnCount

      public void setColumnCount(int columnCount)
      モデルの列数を設定します。 新しいサイズが現在のサイズより大きい場合、モデルの最後に新しい列が追加されセル値はnullになります。 新しいサイズが現在のサイズより小さい場合、インデックスcolumnCount以降のすべての列が破棄されます。
      パラメータ:
      columnCount - モデルの新規の列数
      導入されたバージョン:
      1.3
      関連項目:
    • 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通知メッセージを送ります。
      パラメータ:
      columnName - 新しく作成された列の識別子
      columnData - 列に追加する新しいデータ
      関連項目:
    • getRowCount

      public int getRowCount()
      データ・テーブル内の行の数を返します。
      定義:
      getRowCount、インタフェースTableModel
      戻り値:
      モデルの行数
      関連項目:
    • getColumnCount

      public int getColumnCount()
      データ・テーブル内の列の数を返します。
      定義:
      getColumnCount、インタフェースTableModel
      戻り値:
      モデルの列数
      関連項目:
    • getColumnName

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

      public boolean isCellEditable(int row, int column)
      パラメータ値に関係なく、trueを返します。
      定義:
      isCellEditable、インタフェースTableModel
      オーバーライド:
      isCellEditable、クラスAbstractTableModel
      パラメータ:
      row - 値が照会される行
      column - 値が照会される列
      戻り値:
      true
      関連項目:
    • getValueAt

      public Object getValueAt(int row, int column)
      rowおよびcolumnに位置するセルの属性値を返します。
      定義:
      getValueAt、インタフェースTableModel
      パラメータ:
      row - 値が照会される行
      column - 値が照会される列
      戻り値:
      指定されたセルのObject値
      スロー:
      ArrayIndexOutOfBoundsException - 無効な行または列が指定された場合
    • setValueAt

      public void setValueAt(Object aValue, int row, int column)
      columnおよびrowに位置するセルのオブジェクト値を設定します。aValueは新しい値です。 このメソッドはtableChanged通知を生成します。
      定義:
      setValueAt、インタフェースTableModel
      オーバーライド:
      setValueAt、クラスAbstractTableModel
      パラメータ:
      aValue - 新規の値。nullも可
      row - 値が変更される行
      column - 値が変更される列
      スロー:
      ArrayIndexOutOfBoundsException - 無効な行または列が指定された場合
      関連項目:
    • convertToVector

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

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