JavaTM Platform
Standard Ed. 6

javax.swing.table
クラス AbstractTableModel

java.lang.Object
  上位を拡張 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 に適しています。JDK Version 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)
          このテーブルモデルのリスナーとして登録されているすべての TableModelListener に、指定された通知イベントを転送します。
 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 など) を返します。
<T extends EventListener>
T[]
getListeners(Class<T> listenerType)
          この AbstractTableModelFooListener として現在登録されているすべてのオブジェクトの配列を返します。
 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)
このテーブルモデルのリスナーとして登録されているすべての TableModelListener に、指定された通知イベントを転送します。

パラメータ:
e - 転送されるイベント
関連項目:
addTableModelListener(javax.swing.event.TableModelListener), 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));
このようなリスナーがない場合は空の配列を返します。

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

JavaTM Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。