public abstract class AbstractTableModel extends Object implements TableModel, Serializable
TableModel
インタフェースのほとんどのメソッドのデフォルトの実装を提供します。このクラスはリスナーを管理するほか、TableModelEvents
を生成し、それらをリスナーにディスパッチするための機能を提供します。具象 TableModel
を AbstractTableModel
のサブクラスとして作成するには、次の 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、...) を返します。
|
<T extends EventListener> |
getListeners(Class<T> listenerType)
この
AbstractTableModel に FooListener として現在登録されているすべてのオブジェクトの配列を返します。 |
TableModelListener[] |
getTableModelListeners()
このモデルに登録された、すべてのテーブルモデルリスナーから成る配列を返します。
|
boolean |
isCellEditable(int rowIndex, int columnIndex)
false を返します。
|
void |
removeTableModelListener(TableModelListener l)
データモデル変更時の通知対象リストからリスナーを削除します。
|
void |
setValueAt(Object aValue, int rowIndex, int columnIndex)
空の実装が提供されるので、データモデルが編集不可の場合、ユーザーはこのメソッドを実装する必要はありません。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getColumnCount, getRowCount, getValueAt
protected EventListenerList listenerList
public String getColumnName(int column)
column
が見つからない場合は、空の文字列を返します。getColumnName
、インタフェース: TableModel
column
- 照会される列column
のデフォルト名が格納されている文字列public int findColumn(String columnName)
TableModel
インタフェースにはなく、JTable
はこれを使用しません。columnName
- 配置される列の名前を格納する文字列columnName
を持つ列。列が見つからない場合は -1public Class<?> getColumnClass(int columnIndex)
columnIndex
にかかわらず Object.class
を返します。getColumnClass
、インタフェース: TableModel
columnIndex
- 照会される列public boolean isCellEditable(int rowIndex, int columnIndex)
isCellEditable
、インタフェース: TableModel
rowIndex
- 照会される行columnIndex
- 照会される列TableModel.setValueAt(java.lang.Object, int, int)
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
setValueAt
、インタフェース: TableModel
aValue
- セルに割り当てる値rowIndex
- セルの行columnIndex
- セルの列TableModel.getValueAt(int, int)
, TableModel.isCellEditable(int, int)
public void addTableModelListener(TableModelListener l)
addTableModelListener
、インタフェース: TableModel
l
- TableModelListenerpublic void removeTableModelListener(TableModelListener l)
removeTableModelListener
、インタフェース: TableModel
l
- TableModelListenerpublic TableModelListener[] getTableModelListeners()
TableModelListener
全部。テーブルモデルリスナーが現在登録されていない場合は空の配列addTableModelListener(javax.swing.event.TableModelListener)
, removeTableModelListener(javax.swing.event.TableModelListener)
public void fireTableDataChanged()
JTable
はテーブルの描画を最初からやり直す必要があります。列の順序としてのテーブルの構造は同じと見なされます。public void fireTableStructureChanged()
JTable
は、このイベントを受け取り、autoCreateColumnsFromModel
フラグが設定されている場合、JTable はそれまで保持していたテーブルの列をすべて破棄し、モデルでの順序に従ってデフォルトの列をふたたび割り当てます。これは、JTable
で setModel(TableModel)
を呼び出すのと同じです。public void fireTableRowsInserted(int firstRow, int lastRow)
[firstRow, lastRow]
(これを含む) の範囲で行が挿入されたことを、すべてのリスナーに通知します。firstRow
- 最初の行lastRow
- 最後の行TableModelEvent
, EventListenerList
public void fireTableRowsUpdated(int firstRow, int lastRow)
[firstRow, lastRow]
(これを含む) の範囲で行が更新されたことを、すべてのリスナーに通知します。firstRow
- 最初の行lastRow
- 最後の行TableModelEvent
, EventListenerList
public void fireTableRowsDeleted(int firstRow, int lastRow)
[firstRow, lastRow]
(これを含む) の範囲で行が削除されたことを、すべてのリスナーに通知します。firstRow
- 最初の行lastRow
- 最後の行TableModelEvent
, EventListenerList
public void fireTableCellUpdated(int row, int column)
[row, column]
にあるセルの値が更新されたことを、すべてのリスナーに通知します。row
- 更新されたセルの行column
- 更新されたセルの列TableModelEvent
, EventListenerList
public void fireTableChanged(TableModelEvent e)
TableModelListeners
に、指定された通知イベントを転送します。e
- 転送されるイベントaddTableModelListener(javax.swing.event.TableModelListener)
, TableModelEvent
, EventListenerList
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
AbstractTableModel
に FooListener
として現在登録されているすべてのオブジェクトの配列を返します。FooListener
は、addFooListener
メソッドを使用して登録されます。
FooListener.class
などのクラスリテラルを使用して listenerType
引数を指定できます。たとえば次のコードを使用して、モデル m
を、そのテーブルモデルリスナーに照会できます。
TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));このようなリスナーがない場合は空の配列を返します。
listenerType
- 要求されるリスナーの型。次の下位インタフェースを指定: java.util.EventListener
FooListener
として登録されたすべてのオブジェクトの配列、またはこのようなリスナーが追加されていない場合は空の配列ClassCastException
- listenerType
で、java.util.EventListener
を実装するクラスまたはインタフェースが指定されなかった場合getTableModelListeners()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.