モジュール java.desktop
パッケージ javax.swing.event

クラスTableModelEvent

  • すべての実装されたインタフェース:
    Serializable

    public class TableModelEvent
    extends EventObject
    TableModelEventは、テーブル・モデルが変更されたことをリスナーに通知するために使用されます。 モデル・イベントはTableModelの変更を記述し、行および列への参照はすべてモデルの座標体系内にあります。 コンストラクタで使用されるパラメータによっては、TableModeleventを使用して、次の種類の変更を指定できます。
     TableModelEvent(source);              //  The data, ie. all rows changed
     TableModelEvent(source, HEADER_ROW);  //  Structure change, reallocate TableColumns
     TableModelEvent(source, 1);           //  Row 1 changed
     TableModelEvent(source, 3, 6);        //  Rows 3 to 6 inclusive changed
     TableModelEvent(source, 2, 2, 6);     //  Cell at (2, 6) changed
     TableModelEvent(source, 3, 6, ALL_COLUMNS, INSERT); // Rows (3, 6) were inserted
     TableModelEvent(source, 3, 6, ALL_COLUMNS, DELETE); // Rows (3, 6) were deleted
     
    ほかのパラメータの組み合わせを使用することもできますが、すべてが有用であるとは限りません。 サブクラス化することにより、たとえば、イベントWILLが発生したか、イベントDIDが発生したかなど、ほかの情報を追加することもできます。 これにより、DELETEイベントでの行の指定がしやすくなりますが、JTableではイベント後の通知だけが必要なので、Swingパッケージには含まれていません。

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

    関連項目:
    TableModel, 「直列化されたフォーム」
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      static int ALL_COLUMNS
      ある行または複数の行のすべての列を指定します。
      protected int column
      イベントの列。
      static int DELETE
      行または列の削除を識別します。
      protected int firstRow
      変更された最初の行。
      static int HEADER_ROW
      ヘッダー行を識別します。
      static int INSERT
      新しい行または列の追加を識別します。
      protected int lastRow
      変更された最後の行。
      protected int type
      イベントの型。
      static int UPDATE
      既存のデータに対する変更を識別します。
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      TableModelEvent​(TableModel source)
      テーブル内のすべての行データが変更されています。リスナーは、行をベースにしたすべての状態を破棄し、TableModelに再度問い合わせをして、新しい行数とすべての適切な値を取得します。
      TableModelEvent​(TableModel source, int row)
      このデータの行は更新されています。
      TableModelEvent​(TableModel source, int firstRow, int lastRow)
      行[firstRow, lastRow]内のデータが更新されています。
      TableModelEvent​(TableModel source, int firstRow, int lastRow, int column)
      [firstRow, lastRow]の範囲の列column内のセルが更新されています。
      TableModelEvent​(TableModel source, int firstRow, int lastRow, int column, int type)
      (firstRow, column)から(lastRow, column)までのセルが変更されています。
    • フィールドの詳細

      • INSERT

        public static final int INSERT
        新しい行または列の追加を識別します。
        関連項目:
        定数フィールド値
      • UPDATE

        public static final int UPDATE
        既存のデータに対する変更を識別します。
        関連項目:
        定数フィールド値
      • DELETE

        public static final int DELETE
        行または列の削除を識別します。
        関連項目:
        定数フィールド値
      • HEADER_ROW

        public static final int HEADER_ROW
        ヘッダー行を識別します。
        関連項目:
        定数フィールド値
      • ALL_COLUMNS

        public static final int ALL_COLUMNS
        ある行または複数の行のすべての列を指定します。
        関連項目:
        定数フィールド値
      • type

        protected int type
        イベントの型。
      • firstRow

        protected int firstRow
        変更された最初の行。
      • lastRow

        protected int lastRow
        変更された最後の行。
      • column

        protected int column
        イベントの列。
    • コンストラクタの詳細

      • TableModelEvent

        public TableModelEvent​(TableModel source)
        テーブル内のすべての行データが変更されています。リスナーは、行をベースにしたすべての状態を破棄し、TableModelに再度問い合わせをして、新しい行数とすべての適切な値を取得します。 JTableは、このイベントを受け取ると可視領域全体を描画しなおし、可視のセルの値をモデルに問い合わせます。 列名、タイプおよび順序など、表の構造は変更されません。
        パラメータ:
        source - このイベントの影響を受けるTableModel
      • TableModelEvent

        public TableModelEvent​(TableModel source,
                               int row)
        このデータの行は更新されています。 構造が異なる完全に新しいテーブルの出現を示すには、rowの値としてHEADER_ROWを使用します。 JTableは、このイベントを受け取り、autoCreateColumnsFromModelフラグがセットされると、TableColumnがあればすべて破棄し、モデルで表示される順番でデフォルトの列を割り当てし直します。 これは、JTablesetModel(TableModel)を呼び出すのと同じです。
        パラメータ:
        source - このイベントの影響を受けるTableModel
        row - 更新された行
      • TableModelEvent

        public TableModelEvent​(TableModel source,
                               int firstRow,
                               int lastRow)
        行[firstRow, lastRow]内のデータが更新されています。
        パラメータ:
        source - このイベントの影響を受けるTableModel
        firstRow - このイベントの影響を受ける最初の行
        lastRow - このイベントの影響を受ける最後の行
      • TableModelEvent

        public TableModelEvent​(TableModel source,
                               int firstRow,
                               int lastRow,
                               int column)
        [firstRow, lastRow]の範囲の列column内のセルが更新されています。
        パラメータ:
        source - このイベントの影響を受けるTableModel
        firstRow - このイベントの影響を受ける最初の行
        lastRow - このイベントの影響を受ける最後の行
        column - セルのカラム指数が変化した。ALL_COLUMNSは、指定された行の範囲内のすべてのセルが変更されたことを示します。
      • TableModelEvent

        public TableModelEvent​(TableModel source,
                               int firstRow,
                               int lastRow,
                               int column,
                               int type)
        (firstRow, column)から(lastRow, column)までのセルが変更されています。 columnは、モデルの座標体系でのセルの列インデックスを参照します。 columnがALL_COLUMNSの場合は、指定した行範囲内のすべてのセルが変更されたと見なされます。

        typeは、INSERT、UPDATE、およびDELETEのどれかです。

        パラメータ:
        source - このイベントの影響を受けるTableModel
        firstRow - このイベントの影響を受ける最初の行
        lastRow - このイベントの影響を受ける最後の行
        column - セルのカラム指数が変化した。ALL_COLUMNSは、指定された行の範囲内のすべてのセルが変更されたことを示します。
        type - この偶数によって表される変化の型、INSERTDELETE またはUPDATE
    • メソッドの詳細

      • getFirstRow

        public int getFirstRow()
        変更された最初の行を返します。 HEADER_ROWは、列の名前、タイプ、および順序などのメタデータを意味します。
        戻り値:
        変更された最初の行を示す整数
      • getLastRow

        public int getLastRow()
        変更された最後の行を返します。
        戻り値:
        変更された最後の行を示す整数
      • getColumn

        public int getColumn()
        イベントの列を返します。 戻り値がALL_COLUMNSの場合は、指定された行内のすべての列が変更されたことを意味します。
        戻り値:
        このイベントの影響を受ける列を示す整数
      • getType

        public int getType()
        イベントのタイプを返します。INSERT、UPDATE、およびDELETEのどれかです。
        戻り値:
        表モデルへの変更の型、行または列またはUPDATEのデータへのINSERTまたはDELETE