public class DefaultTableModel extends AbstractTableModel implements Serializable
Vectors
の中の 1 つの Vector
を使う TableModel
の実装です。
警告: DefaultTableModel
は Object
の列クラスを返します。DefaultTableModel
と TableRowSorter
を同時に使用すると、String
以外のデータ型で使用すると負荷の大きい toString
が大量に使用されます。DefaultTableModel
と TableRowSorter
を同時に使用するときは、適切な型を返せるように、getColumnClass
をオーバーライドすることを強くお勧めします。
警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースとの互換性がなくなる予定です。現在の直列化のサポートは、短期間の格納や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。1.4 以降、すべての JavaBeansTM 用の長期間の格納サポートが java.beans
パッケージに追加されています。XMLEncoder
を参照してください。
TableModel
, getDataVector()
修飾子と型 | フィールドと説明 |
---|---|
protected Vector |
columnIdentifiers
列識別子の
Vector です。 |
protected Vector |
dataVector
Object 値の Vectors の中の Vector です。 |
listenerList
コンストラクタと説明 |
---|
DefaultTableModel()
列が 0、行が 0 のテーブルであるデフォルトの
DefaultTableModel を構築します。 |
DefaultTableModel(int rowCount, int columnCount)
rowCount と columnCount のオブジェクト値が null である DefaultTableModel を構築します。 |
DefaultTableModel(Object[][] data, Object[] columnNames)
DefaultTableModel を構築し、data と columnNames を setDataVector メソッドに渡して表を初期化します。 |
DefaultTableModel(Object[] columnNames, int rowCount)
null オブジェクト値の columnNames と rowCount に存在する要素数の列で、DefaultTableModel を構築します。 |
DefaultTableModel(Vector columnNames, int rowCount)
null オブジェクト値の columnNames と rowCount に存在する要素数の列で、DefaultTableModel を構築します。 |
DefaultTableModel(Vector data, Vector columnNames)
DefaultTableModel を構築し、data と columnNames を setDataVector メソッドに渡して表を初期化します。 |
修飾子と型 | メソッドと説明 |
---|---|
void |
addColumn(Object columnName)
モデルに列を追加します。
|
void |
addColumn(Object columnName, Object[] columnData)
モデルに列を追加します。
|
void |
addColumn(Object columnName, Vector columnData)
モデルに列を追加します。
|
void |
addRow(Object[] rowData)
モデルの最後に行を追加します。
|
void |
addRow(Vector rowData)
モデルの最後に行を追加します。
|
protected static Vector |
convertToVector(Object[] anArray)
配列と同じオブジェクトを格納するベクターを返します。
|
protected static Vector |
convertToVector(Object[][] anArray)
配列と同じオブジェクトを格納する一連のベクターの中の 1 つのベクターを返します。
|
int |
getColumnCount()
データテーブル内の列の数を返します。
|
String |
getColumnName(int column)
列の名前を返します。
|
Vector |
getDataVector()
テーブルのデータ値を格納する一連の
Vectors の中の Vector を返します。 |
int |
getRowCount()
データテーブル内の行の数を返します。
|
Object |
getValueAt(int row, int column)
row および column に位置するセルの属性値を返します。 |
void |
insertRow(int row, Object[] rowData)
モデルの
row に行を挿入します。 |
void |
insertRow(int row, Vector rowData)
モデルの
row に行を挿入します。 |
boolean |
isCellEditable(int row, int column)
パラメータ値に関係なく、true を返します。
|
void |
moveRow(int start, int end, int to)
モデルで、
start から end までの 1 行または複数行を、to の位置に移動します。 |
void |
newDataAvailable(TableModelEvent event)
fireTableChanged と同等です。 |
void |
newRowsAdded(TableModelEvent e)
新しい行の列数が正しいことを確認します。
|
void |
removeRow(int row)
モデルの
row にある行を削除します。 |
void |
rowsRemoved(TableModelEvent event)
fireTableChanged と同等です。 |
void |
setColumnCount(int columnCount)
モデルの列数を設定します。
|
void |
setColumnIdentifiers(Object[] newIdentifiers)
モデルの列識別子を置き換えます。
|
void |
setColumnIdentifiers(Vector columnIdentifiers)
モデルの列識別子を置き換えます。
|
void |
setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
dataVector インスタンス変数の値を、配列 dataVector の値で置き換えます。 |
void |
setDataVector(Vector dataVector, Vector columnIdentifiers)
現在の
dataVector インスタンス変数を、新しい行の Vector である dataVector に置き換えます。 |
void |
setNumRows(int rowCount)
Java 2 プラットフォーム v1.3 では使用しません。
|
void |
setRowCount(int rowCount)
モデルの行数を設定します。
|
void |
setValueAt(Object aValue, int row, int column)
column および row に位置するセルのオブジェクト値を設定します。 |
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
protected Vector dataVector
Object
値の Vectors
の中の Vector
です。protected Vector columnIdentifiers
Vector
です。public DefaultTableModel()
DefaultTableModel
を構築します。public DefaultTableModel(int rowCount, int columnCount)
rowCount
と columnCount
のオブジェクト値が null
である DefaultTableModel
を構築します。rowCount
- テーブルが保持する行数columnCount
- テーブルが保持する列数setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Vector columnNames, int rowCount)
null
オブジェクト値の columnNames
と rowCount
に存在する要素数の列で、DefaultTableModel
を構築します。各列の名前は、columnNames
ベクターからとられます。columnNames
- 新しい列の名前を格納する vector
。これが null
の場合、モデルは列を持たないrowCount
- テーブルが保持する行数setDataVector(java.util.Vector, java.util.Vector)
, setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Object[] columnNames, int rowCount)
null
オブジェクト値の columnNames
と rowCount
に存在する要素数の列で、DefaultTableModel
を構築します。各列の名前は、columnNames
配列からとられます。columnNames
- 新しい列の名前を格納する array
。これが null
の場合、モデルは列を持たないrowCount
- テーブルが保持する行数setDataVector(java.util.Vector, java.util.Vector)
, setValueAt(java.lang.Object, int, int)
public DefaultTableModel(Vector data, Vector columnNames)
DefaultTableModel
を構築し、data
と columnNames
を setDataVector
メソッドに渡して表を初期化します。data
- テーブルのデータ (Object
値の Vector
の中の Vector
)columnNames
- 新しい列の名前を格納する vector
getDataVector()
, setDataVector(java.util.Vector, java.util.Vector)
public DefaultTableModel(Object[][] data, Object[] columnNames)
DefaultTableModel
を構築し、data
と columnNames
を setDataVector
メソッドに渡して表を初期化します。Object[][]
配列の最初のインデックスは行のインデックス、2 番目は列のインデックスです。data
- テーブルのデータcolumnNames
- 列の名前getDataVector()
, setDataVector(java.util.Vector, java.util.Vector)
public Vector getDataVector()
Vectors
の中の Vector
を返します。外部ベクターに格納されているベクターはそれぞれ単一行の値です。つまり、行 1、列 5 のセルは次のように指定します。
((Vector)getDataVector().elementAt(1)).elementAt(5);
newDataAvailable(javax.swing.event.TableModelEvent)
, newRowsAdded(javax.swing.event.TableModelEvent)
, setDataVector(java.util.Vector, java.util.Vector)
public void setDataVector(Vector dataVector, Vector columnIdentifiers)
dataVector
インスタンス変数を、新しい行の Vector
である dataVector
に置き換えます。dataVector
内では、各行はいくつかの Object
値からなる Vector
によって表されます。columnIdentifiers
は、新しい列の名前です。columnIdentifiers
の最初の名前は、dataVector
の列 0 に対応します。dataVector
の各行は、長すぎる場合は Vector
を縮め、短すぎる場合は null
値を追加して、columnIdentifiers
の列数と一致するように調整されます。
dataVector
に対して null
値を渡すと、指定しない動作になり、例外が発生するおそれがあります。
dataVector
- 新規のデータベクターcolumnIdentifiers
- 列の名前getDataVector()
public void setDataVector(Object[][] dataVector, Object[] columnIdentifiers)
dataVector
インスタンス変数の値を、配列 dataVector
の値で置き換えます。Object[][]
配列の最初のインデックスは行のインデックス、2 番目は列のインデックスです。columnIdentifiers
は新しい列の名前です。dataVector
- 新規のデータベクターcolumnIdentifiers
- 列の名前setDataVector(Vector, Vector)
public void newDataAvailable(TableModelEvent event)
fireTableChanged
と同等です。event
- 変更イベントpublic void newRowsAdded(TableModelEvent e)
Vector
の setSize
メソッドを使います。setSize メソッドは、長すぎるベクターを縮め、短すぎる場合は null
を追加します。また、このメソッドはすべてのリスナーに tableChanged
通知メッセージを送ります。e
- この TableModelEvent
はどこに行が追加されたかを記述する。null
の場合、すべての行が新しく追加されたと仮定されるgetDataVector()
public void rowsRemoved(TableModelEvent event)
fireTableChanged
と同等です。event
- 変更イベントpublic void setNumRows(int rowCount)
setRowCount
を使用してください。public void setRowCount(int rowCount)
rowCount
以降のすべての行が破棄されます。 setColumnCount(int)
public void addRow(Vector rowData)
rowData
が指定されていない場合は null
になります。行の追加の通知が生成されます。rowData
- 追加される行の任意のデータpublic void addRow(Object[] rowData)
rowData
が指定されていない場合は null
になります。行の追加の通知が生成されます。rowData
- 追加される行の任意のデータpublic void insertRow(int row, Vector rowData)
row
に行を挿入します。新しい行の値は、rowData
が指定されていない場合は null
になります。行の追加の通知が生成されます。row
- 挿入される行の行インデックスrowData
- 追加される行の任意のデータArrayIndexOutOfBoundsException
- 行が無効だった場合public void insertRow(int row, Object[] rowData)
row
に行を挿入します。新しい行の値は、rowData
が指定されていない場合は null
になります。行の追加の通知が生成されます。row
- 挿入される行の行インデックスrowData
- 追加される行の任意のデータArrayIndexOutOfBoundsException
- 行が無効だった場合public void moveRow(int start, int end, int to)
start
から end
までの 1 行または複数行を、to
の位置に移動します。移動後は、インデックス start
にあった行が、インデックス to
に移動します。このメソッドは、すべてのリスナーに tableChanged
通知メッセージを送ります。
Examples of moves:1. moveRow(1,3,5); a|B|C|D|e|f|g|h|i|j|k - before a|e|f|g|h|B|C|D|i|j|k - after
2. moveRow(6,7,1); a|b|c|d|e|f|G|H|i|j|k - before a|G|H|b|c|d|e|f|i|j|k - after
start
- 移動する行の開始インデックスend
- 移動する行の終了インデックスto
- 行の移動先ArrayIndexOutOfBoundsException
- テーブルの範囲外に移動される要素がある場合public void removeRow(int row)
row
にある行を削除します。行の削除の通知がすべてのリスナーに送られます。row
- 削除される行の行インデックスArrayIndexOutOfBoundsException
- 行が無効だった場合public void setColumnIdentifiers(Vector columnIdentifiers)
newIdentifier
の数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。newIdentifier
の数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。 columnIdentifiers
- 列識別子のベクター。null
の場合は、モデルの列を 0 に設定するsetNumRows(int)
public void setColumnIdentifiers(Object[] newIdentifiers)
newIdentifier
の数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。newIdentifier
の数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。 newIdentifiers
- 列識別子の配列。null
の場合は、モデルの列を 0 に設定するsetNumRows(int)
public void setColumnCount(int columnCount)
null
になります。新しいサイズが現在のサイズより小さい場合、インデックス columnCount
以降のすべての列が破棄されます。columnCount
- モデルの新規の列数setColumnCount(int)
public void addColumn(Object columnName)
columnName
になります。この識別子の値は null でもかまいません。このメソッドは、すべてのリスナーに tableChanged
通知メッセージを送ります。このメソッドは、null
をデータベクターとして使う addColumn(Object, Vector)
のカバーです。columnName
- 追加される列の識別子public void addColumn(Object columnName, Vector columnData)
columnName
になります。この識別子の値は null でもかまいません。columnData
は、列のデータの任意のベクターです。それが null
の場合、列の値は null
になります。そうでない場合、モデルに新しいデータが追加され、最初の要素は行 0 になります。このメソッドは、すべてのリスナーに tableChanged
通知メッセージを送ります。columnName
- 追加される列の識別子columnData
- 追加される列の任意のデータpublic void addColumn(Object columnName, Object[] columnData)
columnName
になります。columnData
は、列のデータの任意の配列です。それが null
の場合、列の値は null
になります。そうでない場合、モデルに新しいデータが追加され、最初の要素は行 0 になります。このメソッドは、すべてのリスナーに tableChanged
通知メッセージを送ります。public int getRowCount()
getRowCount
、インタフェース: TableModel
TableModel.getColumnCount()
public int getColumnCount()
getColumnCount
、インタフェース: TableModel
TableModel.getRowCount()
public String getColumnName(int column)
getColumnName
、インタフェース: TableModel
getColumnName
、クラス: AbstractTableModel
column
- 照会される列columnIdentifiers
の適切なメンバーの文字列値を使用したこの列の名前。columnIdentifiers
にこのインデックスのエントリがない場合、スーパークラスが提供するデフォルト名が返される。public boolean isCellEditable(int row, int column)
isCellEditable
、インタフェース: TableModel
isCellEditable
、クラス: AbstractTableModel
row
- 値が照会される行column
- 値が照会される列setValueAt(java.lang.Object, int, int)
public Object getValueAt(int row, int column)
row
および column
に位置するセルの属性値を返します。getValueAt
、インタフェース: TableModel
row
- 値が照会される行column
- 値が照会される列ArrayIndexOutOfBoundsException
- 無効な行または列が指定された場合public void setValueAt(Object aValue, int row, int column)
column
および row
に位置するセルのオブジェクト値を設定します。新しい値は aValue
です。このメソッドは、tableChanged
通知を生成します。setValueAt
、インタフェース: TableModel
setValueAt
、クラス: AbstractTableModel
aValue
- 新規の値。null も可row
- 値が変更される行column
- 値が変更される列ArrayIndexOutOfBoundsException
- 無効な行または列が指定された場合TableModel.getValueAt(int, int)
, TableModel.isCellEditable(int, int)
protected static Vector convertToVector(Object[] anArray)
anArray
- 変換される配列anArray
が null
の場合、null
が返される バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.