モジュール java.desktop
パッケージ 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を参照してください。

    関連項目:
    TableModel, getDataVector()
    • フィールドの詳細

      • 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 - テーブルが保持する列数
        関連項目:
        setValueAt(java.lang.Object, int, int)
    • メソッドの詳細

      • 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 - 列の名前
        関連項目:
        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プラットフォーム1.3で廃止されました。 代わりにsetRowCountを使用してください。
        パラメータ:
        rowCount - 新しい行数
      • setRowCount

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

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

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

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

        public Object getValueAt​(int row,
                                 int column)
        rowおよびcolumnに位置するセルの属性値を返します。
        定義:
        getValueAt、インタフェース: TableModel
        パラメータ:
        row - 値が照会される行
        column - 値が照会される列
        戻り値:
        指定されたセルのObject値
        例外:
        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が返される