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

クラスAbstractTableModel

  • すべての実装されたインタフェース:
    Serializable, TableModel
    直系の既知のサブクラス:
    DefaultTableModel

    public abstract class AbstractTableModel
    extends Object
    implements TableModel, Serializable
    このabstractクラスは、TableModelインタフェースのほとんどのメソッドのデフォルトの実装を提供します。 このクラスはリスナーを管理するほか、TableModelEventsを生成し、それらをリスナーにディスパッチするための機能を提供します。 具象TableModelAbstractTableModelのサブクラスとして作成するには、次の3つのメソッドの実装を提供してください。
      public int getRowCount();
      public int getColumnCount();
      public Object getValueAt(int row, int column);
      

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

    • フィールドのサマリー

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

      コンストラクタ 
      コンストラクタ 説明
      AbstractTableModel()  
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      void addTableModelListener​(TableModelListener l)
      データ・モデル変更時の通知対象リストにリスナーを追加します。
      int findColumn​(String columnName)
      指定された名前の列を返します。
      void fireTableCellUpdated​(int row, int column)
      [row, column]にあるセルの値が更新されたことを、すべてのリスナーに通知します。
      void fireTableChanged​(TableModelEvent e)
      このテーブル・モデルのリスナーとして登録されているすべてのTableModelListenersに、指定された通知イベントを転送します。
      void fireTableDataChanged()
      テーブルの行のすべてのセル値が変更されている可能性があることを、すべてのリスナーに通知します。
      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 fireTableStructureChanged()
      テーブルの構造が変更されたことをすべてのリスナーに通知します。
      Class<?> getColumnClass​(int columnIndex)
      columnIndexにかかわらずObject.classを返します。
      String getColumnName​(int column)
      スプレッドシートの規約を使って、列のデフォルト名(A、B、C、...)を返します。
      <T extends EventListener>
      T[]
      getListeners​(クラス<T> listenerType)
      このAbstractTableModelFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。
      TableModelListener[] getTableModelListeners()
      このモデルに登録された、すべてのテーブル・モデル・リスナーから成る配列を返します。
      boolean isCellEditable​(int rowIndex, int columnIndex)
      falseを返します。
      void removeTableModelListener​(TableModelListener l)
      データ・モデル変更時の通知対象リストからリスナーを削除します。
      void setValueAt​(Object aValue, int rowIndex, int columnIndex)
      空の実装が提供されるので、データ・モデルが編集不可の場合、ユーザーはこのメソッドを実装する必要はありません。
    • フィールドの詳細

      • listenerList

        protected EventListenerList listenerList
        リスナーのリストです。
    • コンストラクタの詳細

      • AbstractTableModel

        public AbstractTableModel()
    • メソッドの詳細

      • getColumnName

        public String getColumnName​(int column)
        スプレッドシートの規約を使って、列のデフォルト名(A、B、C、... Z、AA、ABなど)を返します。columnが見つからない場合は、空の文字列を返します。
        定義:
        getColumnName、インタフェース: TableModel
        パラメータ:
        column - 照会される列
        戻り値:
        columnのデフォルト名が格納されている文字列
      • findColumn

        public int findColumn​(String columnName)
        指定された名前の列を返します。 実装がネイティブなので、このメソッドを頻繁に呼び出す場合にはオーバーライドする必要があります。 このメソッドは、TableModelインタフェースにはなく、JTableはこれを使用しません。
        パラメータ:
        columnName - 配置される列の名前を格納する文字列
        戻り値:
        columnNameを持つ列。列が見つからない場合は -1
      • getColumnClass

        public Class<?> getColumnClass​(int columnIndex)
        columnIndexにかかわらずObject.classを返します。
        定義:
        getColumnClass、インタフェース: TableModel
        パラメータ:
        columnIndex - 照会される列
        戻り値:
        Object.class
      • isCellEditable

        public boolean isCellEditable​(int rowIndex,
                                      int columnIndex)
        falseを返します。 これは、すべてのセルのデフォルトの実装です。
        定義:
        isCellEditable、インタフェース: TableModel
        パラメータ:
        rowIndex - 照会される行
        columnIndex - 照会される列
        戻り値:
        false
        関連項目:
        TableModel.setValueAt(java.lang.Object, int, int)
      • setValueAt

        public void setValueAt​(Object aValue,
                               int rowIndex,
                               int columnIndex)
        空の実装が提供されるので、データ・モデルが編集不可の場合、ユーザーはこのメソッドを実装する必要はありません。
        定義:
        setValueAt、インタフェース: TableModel
        パラメータ:
        aValue - セルに割り当てる値
        rowIndex - セルの行
        columnIndex - セルの列
        関連項目:
        TableModel.getValueAt(int, int), TableModel.isCellEditable(int, int)
      • addTableModelListener

        public void addTableModelListener​(TableModelListener l)
        データ・モデル変更時の通知対象リストにリスナーを追加します。
        定義:
        addTableModelListener、インタフェース: TableModel
        パラメータ:
        l - TableModelListener
      • removeTableModelListener

        public void removeTableModelListener​(TableModelListener l)
        データ・モデル変更時の通知対象リストからリスナーを削除します。
        定義:
        removeTableModelListener、インタフェース: TableModel
        パラメータ:
        l - TableModelListener
      • fireTableDataChanged

        public void fireTableDataChanged()
        テーブルの行のすべてのセル値が変更されている可能性があることを、すべてのリスナーに通知します。 行数も変更されている場合があり、JTableはテーブルの描画を最初からやり直す必要があります。 列の順序としてのテーブルの構造は同じと見なされます。
        関連項目:
        TableModelEvent, EventListenerList, JTable.tableChanged(TableModelEvent)
      • fireTableStructureChanged

        public void fireTableStructureChanged()
        テーブルの構造が変更されたことをすべてのリスナーに通知します。 テーブルの列数、および新しい列の名前と型が、以前の状態と異なっている可能性があります。 JTableは、このイベントを受け取り、autoCreateColumnsFromModelフラグが設定されている場合、JTableはそれまで保持していたテーブルの列をすべて破棄し、モデルでの順序に従ってデフォルトの列をふたたび割り当てます。 これは、JTablesetModel(TableModel)を呼び出すのと同じです。
        関連項目:
        TableModelEvent, EventListenerList
      • fireTableRowsInserted

        public void fireTableRowsInserted​(int firstRow,
                                          int lastRow)
        [firstRow, lastRow] (これを含む)の範囲で行が挿入されたことを、すべてのリスナーに通知します。
        パラメータ:
        firstRow - 最初の行
        lastRow - 最後の行
        関連項目:
        TableModelEvent, EventListenerList
      • fireTableRowsUpdated

        public void fireTableRowsUpdated​(int firstRow,
                                         int lastRow)
        [firstRow, lastRow] (これを含む)の範囲で行が更新されたことを、すべてのリスナーに通知します。
        パラメータ:
        firstRow - 最初の行
        lastRow - 最後の行
        関連項目:
        TableModelEvent, EventListenerList
      • fireTableRowsDeleted

        public void fireTableRowsDeleted​(int firstRow,
                                         int lastRow)
        [firstRow, lastRow] (これを含む)の範囲で行が削除されたことを、すべてのリスナーに通知します。
        パラメータ:
        firstRow - 最初の行
        lastRow - 最後の行
        関連項目:
        TableModelEvent, EventListenerList
      • fireTableCellUpdated

        public void fireTableCellUpdated​(int row,
                                         int column)
        [row, column]にあるセルの値が更新されたことを、すべてのリスナーに通知します。
        パラメータ:
        row - 更新されたセルの行
        column - 更新されたセルの列
        関連項目:
        TableModelEvent, EventListenerList
      • getListeners

        public <T extends EventListener> T[] getListeners​(Class<T> listenerType)
        このAbstractTableModelFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。 FooListenerは、addFooListenerメソッドを使用して登録されます。

        FooListener.classなどのクラス・リテラルを使用してlistenerType引数を指定できます。 たとえば次のコードを使用して、モデルmを、そのテーブル・モデル・リスナーに照会できます。

        TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));
        このようなリスナーがない場合は空の配列を返します。

        型パラメータ:
        T - リスナー型
        パラメータ:
        listenerType - リクエストされたリスナーの型
        戻り値:
        このコンポーネント上でFooListenerとして登録されたすべてのオブジェクトの配列、またはこのようなリスナーが追加されていない場合は空の配列
        例外:
        ClassCastException - listenerTypeで、java.util.EventListenerを実装するクラスまたはインタフェースが指定されなかった場合
        導入されたバージョン:
        1.3
        関連項目:
        getTableModelListeners()