JavaTM 2
Platform
Std. Ed. v1.4.0

javax.swing.table
クラス AbstractTableModel

java.lang.Object
  |
  +--javax.swing.table.AbstractTableModel
すべての実装インタフェース:
Serializable, TableModel
直系の既知のサブクラス:
DefaultTableModel

public abstract class AbstractTableModel
extends Object
implements TableModel, Serializable

この抽象クラスは、TableModel インタフェースのほとんどのメソッドのデフォルトの実装を提供します。このクラスはリスナーを管理するほか、TableModelEvents を生成し、それらをリスナーにディスパッチするための機能を提供します。具象 TableModelAbstractTableModel のサブクラスとして作成するには、以下の 3 つのメソッドの実装を提供してください。

  public int getRowCount();
  public int getColumnCount();
  public Object getValueAt(int row, int column);
  

警告: このクラスの直列化されたオブジェクトは、今後の Swing のリリースとは互換性を持ちません。現在の直列化サポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 では、すべての JavaBeansTM の長期運用サポートが、 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、...Z、AA、AB など) を返します。
 EventListener[] getListeners(Class listenerType)
          この AbstractTableModel 上で FooListener として現在登録されている、すべてのオブジェクトからなる配列を返します。
 TableModelListener[] getTableModelListeners()
          このモデルに登録された、すべてのテーブルモデルリスナーからなる配列を返します。
 boolean isCellEditable(int rowIndex, int columnIndex)
          false を返します。
 void removeTableModelListener(TableModelListener l)
          データモデルが変更されるたびに通知されるリストからリスナーを削除します。
 void setValueAt(Object aValue, int rowIndex, int columnIndex)
          空の実装が提供されるので、データモデルが編集できない場合、ユーザはこのメソッドを実装する必要はありません。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース javax.swing.table.TableModel から継承したメソッド
getColumnCount, getRowCount, getValueAt
 

フィールドの詳細

listenerList

protected EventListenerList listenerList
リスナーのリストです。

コンストラクタの詳細

AbstractTableModel

public AbstractTableModel()
メソッドの詳細

getColumnName

public String getColumnName(int column)
スプレッドシートの規約を使って、列のデフォルト名 (A、B、C、...Z、AA、AB など) を返します。column が見つからない場合は、空の文字列を返します。

定義:
インタフェース TableModel 内の getColumnName
パラメータ:
column - 照会される列
戻り値:
column のデフォルト名が格納されている文字列

findColumn

public int findColumn(String columnName)
指定された名前の列を返します。実装がネイティブなので、このメソッドを頻繁に呼び出す場合にはオーバーライドする必要があります。このメソッドは、TableModel インタフェースにはなく、JTable はこれを使用しません。

パラメータ:
columnName - 配置される列の名前を格納する文字列
戻り値:
columnName を持つ列。列が見つからない場合は -1

getColumnClass

public Class getColumnClass(int columnIndex)
columnIndex に関わらず Object.class を返します。

定義:
インタフェース TableModel 内の getColumnClass
パラメータ:
columnIndex - 照会される列
戻り値:
Object.class

isCellEditable

public boolean isCellEditable(int rowIndex,
                              int columnIndex)
false を返します。これは、すべてのセルのデフォルトの実装です。

定義:
インタフェース TableModel 内の isCellEditable
パラメータ:
rowIndex - 照会される行
columnIndex - 照会される列
戻り値:
false
関連項目:
TableModel.setValueAt(java.lang.Object, int, int)

setValueAt

public void setValueAt(Object aValue,
                       int rowIndex,
                       int columnIndex)
空の実装が提供されるので、データモデルが編集できない場合、ユーザはこのメソッドを実装する必要はありません。

定義:
インタフェース TableModel 内の setValueAt
パラメータ:
aValue - セルに割り当てる値
rowIndex - セルの行
columnIndex - セルの列
関連項目:
TableModel.getValueAt(int, int), TableModel.isCellEditable(int, int)

addTableModelListener

public void addTableModelListener(TableModelListener l)
データモデルが変更されるたびに通知されるリストにリスナーを追加します。

定義:
インタフェース TableModel 内の addTableModelListener
パラメータ:
l - TableModelListener

removeTableModelListener

public void removeTableModelListener(TableModelListener l)
データモデルが変更されるたびに通知されるリストからリスナーを削除します。

定義:
インタフェース TableModel 内の removeTableModelListener
パラメータ:
l - TableModelListener

getTableModelListeners

public TableModelListener[] getTableModelListeners()
このモデルに登録された、すべてのテーブルモデルリスナーからなる配列を返します。

戻り値:
このモデルの TableModelListener すべて。テーブルモデルリスナーが登録されていない場合は空の配列
導入されたバージョン:
1.4
関連項目:
addTableModelListener(javax.swing.event.TableModelListener), removeTableModelListener(javax.swing.event.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

fireTableChanged

public void fireTableChanged(TableModelEvent e)
このテーブルモデルのリスナーとして登録されているすべての TableModelListeners に、指定された通知イベントを転送します。

パラメータ:
e - 転送されるイベント
関連項目:
addTableModelListener(javax.swing.event.TableModelListener), TableModelEvent, EventListenerList

getListeners

public EventListener[] getListeners(Class listenerType)
この AbstractTableModel 上で FooListener として現在登録されている、すべてのオブジェクトからなる配列を返します。FooListener の登録には、addFooListener メソッドが使用されます。

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

TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));
この種のリスナーが存在しない場合、このメソッドでは空の配列が返されます。

パラメータ:
listenerType - 要求されるリスナーのタイプ。このパラメータは java.util.EventListener から派生するインタフェースを指定する
戻り値:
このコンポーネントに FooListener として登録されたすべてのオブジェクトからなる配列。この種のリスナーが追加されていない場合は、空の配列
例外:
ClassCastException - listenerTypejava.util.EventListener を実装するクラスやインタフェースを指定しない場合
導入されたバージョン:
1.3
関連項目:
getTableModelListeners()

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.