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
を参照してください。
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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。