java.lang.Object
javax.swing.table.AbstractTableModel
javax.swing.table.DefaultTableModel
- すべての実装されたインタフェース:
Serializable
,TableModel
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では、すべてのJavaBeansの長期ストレージのサポートがjava.beans
パッケージに追加されました。 XMLEncoder
を参照してください。
- 関連項目:
-
フィールドのサマリー
クラス javax.swing.table.AbstractTableModelで宣言されたフィールド
listenerList
-
コンストラクタのサマリー
コンストラクタ説明列が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<? extends Vector> data, Vector<?> columnNames) DefaultTableModel
を構築し、data
とcolumnNames
をsetDataVector
メソッドに渡して表を初期化します。 -
メソッドのサマリー
修飾子と型メソッド説明void
モデルに列を追加します。void
モデルに列を追加します。void
モデルに列を追加します。void
モデルの最後に行を追加します。void
モデルの最後に行を追加します。convertToVector
(Object[] anArray) 配列と同じオブジェクトを格納するベクターを返します。convertToVector
(Object[][] anArray) 配列と同じオブジェクトを格納する一連のベクターの中の1つのベクターを返します。int
データ・テーブル内の列の数を返します。getColumnName
(int column) 列の名前を返します。テーブルのデータ値を格納する一連のVectors
の中のVector
を返します。int
データ・テーブル内の行の数を返します。getValueAt
(int row, int column) row
およびcolumn
に位置するセルの属性値を返します。void
モデルのrow
に行を挿入します。void
モデルの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
新しい行の列数が正しいことを確認します。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<? extends 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
に位置するセルのオブジェクト値を設定します。クラス javax.swing.table.AbstractTableModelで宣言されたメソッド
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
-
フィールド詳細
-
dataVector
Object
値のVectors
の中のVector
です。 -
columnIdentifiers
protected Vector columnIdentifiers列識別子のVector
です。
-
-
コンストラクタの詳細
-
DefaultTableModel
public DefaultTableModel()列が0、行が0のテーブルであるデフォルトのDefaultTableModel
を構築します。 -
DefaultTableModel
public DefaultTableModel(int rowCount, int columnCount) rowCount
とcolumnCount
のオブジェクト値がnull
であるDefaultTableModel
を構築します。- パラメータ:
rowCount
- テーブルが保持する行数columnCount
- テーブルが保持する列数- 関連項目:
-
DefaultTableModel
public DefaultTableModel(Vector<?> columnNames, int rowCount) null
オブジェクト値のcolumnNames
とrowCount
に存在する要素数の列で、DefaultTableModel
を構築します。 各列の名前は、columnNames
ベクターからとられます。- パラメータ:
columnNames
- 新しい列の名前を格納するvector
。これがnull
の場合、モデルは列を持たないrowCount
- テーブルが保持する行数- 関連項目:
-
DefaultTableModel
public DefaultTableModel(Object[] columnNames, int rowCount) null
オブジェクト値のcolumnNames
とrowCount
に存在する要素数の列で、DefaultTableModel
を構築します。 各列の名前は、columnNames
配列からとられます。- パラメータ:
columnNames
- 新しい列の名前を格納するarray
。これがnull
の場合、モデルは列を持たないrowCount
- テーブルが保持する行数- 関連項目:
-
DefaultTableModel
DefaultTableModel
を構築し、data
とcolumnNames
をsetDataVector
メソッドに渡して表を初期化します。- パラメータ:
data
- テーブルのデータ(Object
値のVector
の中のVector
)columnNames
- 新しい列の名前を格納するvector
- 関連項目:
-
DefaultTableModel
DefaultTableModel
を構築し、data
とcolumnNames
をsetDataVector
メソッドに渡して表を初期化します。Object[][]
配列の最初のインデックスは行のインデックス、2番目は列のインデックスです。- パラメータ:
data
- テーブルのデータcolumnNames
- 列の名前- 関連項目:
-
-
メソッドの詳細
-
getDataVector
テーブルのデータ値を格納する一連のVectors
の中のVector
を返します。 外部ベクターに格納されているベクターはそれぞれ単一行の値です。 つまり、行1、列5のセルは次のように指定します。((Vector)getDataVector().elementAt(1)).elementAt(5);
-
setDataVector
現在のdataVector
インスタンス変数を、新しい行のVector
であるdataVector
に置き換えます。dataVector
内では、各行はいくつかのObject
値からなるVector
として表されます。columnIdentifiers
は新しい列の名前です。columnIdentifiers
の最初の名前は、dataVector
の列0にマップされます。dataVector
の各行は、長すぎる場合はVector
を切り詰め、短すぎる場合はnull
値を追加して、columnIdentifiers
の列数と一致するように調整されます。dataVector
に対してnull
値を渡すと、指定しない動作になり、例外が発生するおそれがあります。- パラメータ:
dataVector
- 新規のデータ・ベクターcolumnIdentifiers
- 列の名前- 関連項目:
-
setDataVector
dataVector
インスタンス変数の値を、配列dataVector
の値で置き換えます。Object[][]
配列の最初のインデックスは行インデックス、2番目は列インデックスです。columnIdentifiers
は新しい列の名前です。- パラメータ:
dataVector
- 新規のデータ・ベクターcolumnIdentifiers
- 列の名前- 関連項目:
-
newDataAvailable
public void newDataAvailable(TableModelEvent event) fireTableChanged
と同等です。- パラメータ:
event
- 変更イベント
-
newRowsAdded
public void newRowsAdded(TableModelEvent e) 新しい行の列数が正しいことを確認します。 そのために、このメソッドはVector
のsetSize
メソッドを使用します。setSizeメソッドは、長すぎるベクターを切り詰め、短すぎる場合はnull
を追加します。 また、このメソッドはすべてのリスナーにtableChanged
通知メッセージを送ります。- パラメータ:
e
- このTableModelEvent
はどこに行が追加されたかを記述する。null
の場合、すべての行が新しく追加されたと仮定される- 関連項目:
-
rowsRemoved
public void rowsRemoved(TableModelEvent event) fireTableChanged
と同等です。- パラメータ:
event
- 変更イベント
-
setNumRows
public void setNumRows(int rowCount) Java 2プラットフォームv1.3では使用しません。 代わりにsetRowCount
を使用してください。- パラメータ:
rowCount
- 新しい行数
-
setRowCount
public void setRowCount(int rowCount) モデルの行数を設定します。 新しいサイズが現在のサイズより大きい場合、モデルの最後に新しい行が追加されます。新しいサイズが現在のサイズより小さい場合、インデックスrowCount
以降のすべての行が破棄されます。- パラメータ:
rowCount
- モデルの行数- 導入されたバージョン:
- 1.3
- 関連項目:
-
addRow
public void addRow(Vector<?> rowData) モデルの最後に行を追加します。 新しい行の値は、rowData
が指定されていない場合はnull
になります。 行の追加の通知が生成されます。- パラメータ:
rowData
- 追加される行のオプションのデータ
-
addRow
public void addRow(Object[] rowData) モデルの最後に行を追加します。 新しい行の値は、rowData
が指定されていない場合はnull
になります。 行の追加の通知が生成されます。- パラメータ:
rowData
- 追加される行のオプションのデータ
-
insertRow
public void insertRow(int row, Vector<?> rowData) モデルのrow
に行を挿入します。 新しい行の値は、rowData
が指定されていない場合はnull
になります。 行の追加の通知が生成されます。- パラメータ:
row
- 挿入される行の行インデックスrowData
- 追加される行のオプションのデータ- 例外:
ArrayIndexOutOfBoundsException
- 行が無効だった場合
-
insertRow
public void insertRow(int row, Object[] rowData) モデルのrow
に行を挿入します。 新しい行の値は、rowData
が指定されていない場合はnull
になります。 行の追加の通知が生成されます。- パラメータ:
row
- 挿入される行の行インデックスrowData
- 追加される行のオプションのデータ- 例外:
ArrayIndexOutOfBoundsException
- 行が無効だった場合
-
moveRow
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
- テーブルの範囲外に移動される要素がある場合
-
removeRow
public void removeRow(int row) モデルのrow
にある行を削除します。 行の削除の通知がすべてのリスナーに送られます。- パラメータ:
row
- 削除される行の行インデックス- 例外:
ArrayIndexOutOfBoundsException
- 行が無効だった場合
-
setColumnIdentifiers
public void setColumnIdentifiers(Vector<?> columnIdentifiers) モデルの列識別子を置き換えます。newIdentifier
の数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。newIdentifier
の数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。- パラメータ:
columnIdentifiers
- 列識別子のベクター。null
の場合は、モデルの列を0に設定する- 関連項目:
-
setColumnIdentifiers
public void setColumnIdentifiers(Object[] newIdentifiers) モデルの列識別子を置き換えます。newIdentifier
の数が現在の列数より多い場合、モデルの各行の最後に新しい列が追加されます。newIdentifier
の数が現在の列数より少ない場合、行の最後の余分な列がすべて破棄されます。- パラメータ:
newIdentifiers
- 列識別子の配列。null
の場合は、モデルの列を0に設定する- 関連項目:
-
setColumnCount
public void setColumnCount(int columnCount) モデルの列数を設定します。 新しいサイズが現在のサイズより大きい場合、モデルの最後に新しい列が追加されセル値はnull
になります。 新しいサイズが現在のサイズより小さい場合、インデックスcolumnCount
以降のすべての列が破棄されます。- パラメータ:
columnCount
- モデルの新規の列数- 導入されたバージョン:
- 1.3
- 関連項目:
-
addColumn
public void addColumn(Object columnName) モデルに列を追加します。 新しい列の識別子はcolumnName
になります。この値はnullでもかまいません。 このメソッドは、すべてのリスナーにtableChanged
通知メッセージを送ります。 このメソッドは、null
をデータ・ベクターとして使用するaddColumn(Object, Vector)
のカバーです。- パラメータ:
columnName
- 追加される列の識別子
-
addColumn
モデルに列を追加します。 新しい列の識別子はcolumnName
になります。この値はnullでもかまいません。columnData
はその列のオプションのデータ・ベクターです。 それがnull
の場合、列の値はnull
になります。 それ以外の場合、モデルに新しいデータが追加され、最初の要素は行0などになります。このメソッドは、すべてのリスナーにtableChanged
通知メッセージを送ります。- パラメータ:
columnName
- 追加される列の識別子columnData
- 追加される列のオプションのデータ
-
addColumn
モデルに列を追加します。 新しい列の識別子はcolumnName
になります。columnData
はその列のオプションのデータ配列です。 それがnull
の場合、列の値はnull
になります。 それ以外の場合、モデルに新しいデータが追加され、最初の要素は行0などになります。このメソッドは、すべてのリスナーにtableChanged
通知メッセージを送ります。- パラメータ:
columnName
- 新しく作成された列の識別子columnData
- 列に追加する新しいデータ- 関連項目:
-
getRowCount
public int getRowCount()データ・テーブル内の行の数を返します。- 定義:
getRowCount
、インタフェースTableModel
- 戻り値:
- モデルの行数
- 関連項目:
-
getColumnCount
public int getColumnCount()データ・テーブル内の列の数を返します。- 定義:
getColumnCount
、インタフェースTableModel
- 戻り値:
- モデルの列数
- 関連項目:
-
getColumnName
public String getColumnName(int column) 列の名前を返します。- 定義:
getColumnName
、インタフェースTableModel
- オーバーライド:
getColumnName
、クラスAbstractTableModel
- パラメータ:
column
- 照会される列- 戻り値:
columnIdentifiers
の適切なメンバーの文字列値を使用したこの列の名前。columnIdentifiers
にこのインデックスのエントリがない場合、スーパー・クラスが提供するデフォルト名が返される。
-
isCellEditable
public boolean isCellEditable(int row, int column) パラメータ値に関係なく、trueを返します。- 定義:
isCellEditable
、インタフェースTableModel
- オーバーライド:
isCellEditable
、クラスAbstractTableModel
- パラメータ:
row
- 値が照会される行column
- 値が照会される列- 戻り値:
- true
- 関連項目:
-
getValueAt
public Object getValueAt(int row, int column) row
およびcolumn
に位置するセルの属性値を返します。- 定義:
getValueAt
、インタフェースTableModel
- パラメータ:
row
- 値が照会される行column
- 値が照会される列- 戻り値:
- 指定されたセルのObject値
- 例外:
ArrayIndexOutOfBoundsException
- 無効な行または列が指定された場合
-
setValueAt
public void setValueAt(Object aValue, int row, int column) column
およびrow
に位置するセルのオブジェクト値を設定します。aValue
は新しい値です。 このメソッドはtableChanged
通知を生成します。- 定義:
setValueAt
、インタフェースTableModel
- オーバーライド:
setValueAt
、クラスAbstractTableModel
- パラメータ:
aValue
- 新規の値。nullも可row
- 値が変更される行column
- 値が変更される列- 例外:
ArrayIndexOutOfBoundsException
- 無効な行または列が指定された場合- 関連項目:
-
convertToVector
配列と同じオブジェクトを格納するベクターを返します。- パラメータ:
anArray
- 変換される配列- 戻り値:
- 新規のベクター。
anArray
がnull
の場合、null
が返される
-
convertToVector
配列と同じオブジェクトを格納する一連のベクターの中の1つのベクターを返します。- パラメータ:
anArray
- 変換されるdouble配列- 戻り値:
- 新規のベクター。
anArray
がnull
の場合、null
が返される
-