JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.event
クラス TableModelEvent

java.lang.Object
  上位を拡張 java.util.EventObject
      上位を拡張 javax.swing.event.TableModelEvent
すべての実装されたインタフェース:
Serializable

public class TableModelEvent
extends EventObject

テーブルモデルが変更されたことをリスナーに通知するために使用します。モデルイベントは 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 に適しています。JDK バージョン 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
          既存のデータに対する変更を識別します。
 
クラス java.util.EventObject から継承されたフィールド
source
 
コンストラクタの概要
TableModelEvent(TableModel source)
          テーブル内のすべての行データが変更されています。
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) までのセルが変更されています。
 
メソッドの概要
 int getColumn()
          イベントの列を返します。
 int getFirstRow()
          変更された最初の行を返します。
 int getLastRow()
          変更された最後の行を返します。
 int getType()
          イベントのタイプを返します。
 
クラス java.util.EventObject から継承されたメソッド
getSource, toString
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

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 は、このイベントを受け取ると可視領域全体を描画し直し、可視のセルの値をモデルに問い合わせます。列名、タイプ、および順序など、テーブルの構造は変更されません。


TableModelEvent

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


TableModelEvent

public TableModelEvent(TableModel source,
                       int firstRow,
                       int lastRow)
行 [firstRow, lastRow] のデータが更新されています。


TableModelEvent

public TableModelEvent(TableModel source,
                       int firstRow,
                       int lastRow,
                       int column)
[firstRow, lastRow] の範囲の列 column のセルが更新されています。


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 のどれかである必要があります。

メソッドの詳細

getFirstRow

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


getLastRow

public int getLastRow()
変更された最後の行を返します。


getColumn

public int getColumn()
イベントの列を返します。戻り値が ALL_COLUMNS の場合は、指定された行内のすべての列が変更されたことを意味します。


getType

public int getType()
イベントのタイプを返します。INSERT、UPDATE、および DELETE のどれかです。


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 も参照してください。