public class TableColumn extends Object implements Serializable
TableColumnはJTableの列のすべての属性(幅、サイズ変更可能性、最小と最大の幅など)を表します。 さらに、TableColumnは、レンダラおよびエディタに対して、この列内の値を表示および編集するために使用できるスロットを提供します。
また、列ごとではなくタイプごとにレンダラおよびエディタを指定することも可能です(JTableクラスのsetDefaultRendererメソッドを参照)。 このデフォルトのメカニズムは、TableColumn内のレンダラ(またはエディタ)がnullのときにだけ使用されます。
TableColumnは、JTableの列とTableModelの列のリンクを格納します。 modelIndexは、この列のセルのデータ値が問い合わせられるTableModelの列です。 ビュー内で列が移動しても、このmodelIndexは変わりません。
ノート: 一部の実装では、すべてのTableColumnModelが一意とみなされるため、同じTableColumnインスタンスをTableColumnModelに何度も追加しないことをお勧めします。 モデルから同じ列のデータを使用してTableColumnを表示するには、同じmodelIndexを使用して新しいインスタンスを作成してください。
警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースとの互換性がなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4以降、すべてのJavaBeans™用の長期間の格納サポートがjava.beansパッケージに追加されています。 XMLEncoderを参照してください。
| 修飾子と型 | フィールド | 説明 |
|---|---|---|
static String |
CELL_RENDERER_PROPERTY |
Java 2プラットフォームv1.3では使用しません。
|
protected TableCellEditor |
cellEditor |
列のデータ・セルを編集するために使われるエディタです。
|
protected TableCellRenderer |
cellRenderer |
列のデータ・セルを描画するために使われるレンダラです。
|
static String |
COLUMN_WIDTH_PROPERTY |
Java 2プラットフォームv1.3では使用しません。
|
static String |
HEADER_RENDERER_PROPERTY |
Java 2プラットフォームv1.3では使用しません。
|
static String |
HEADER_VALUE_PROPERTY |
Java 2プラットフォームv1.3では使用しません。
|
protected TableCellRenderer |
headerRenderer |
列のヘッダーを描画するために使われるレンダラです。
|
protected Object |
headerValue |
列のヘッダー値です。
|
protected Object |
identifier |
このオブジェクトは、
JTableの描画機構が内部で使用するものではありません。識別子は、テーブル列にタグを付けたり、検索したりする方法の1つとして、TableColumnで設定できます。 |
protected boolean |
isResizable |
ユーザーが列のサイズを変更できる場合はtrueです。デフォルトはtrueです。
|
protected int |
maxWidth |
列の最大の幅です。
|
protected int |
minWidth |
列の最小の幅です。
|
protected int |
modelIndex |
TableColumnが表示するモデルの列のインデックスです。 |
protected int |
resizedPostingDisableCount |
非推奨。
Java 2プラットフォームv1.3。
|
protected int |
width |
列の幅です。
|
| コンストラクタ | 説明 |
|---|---|
TableColumn() |
デフォルトのモデル・インデックスとして0、デフォルトの幅として75、レンダラに
null、およびエディタにnullを使用するカバー・メソッドです。 |
TableColumn(int modelIndex) |
デフォルトの幅として75、レンダラに
null、およびエディタにnullを使用するカバー・メソッドです。 |
TableColumn(int modelIndex, int width) |
レンダラに
null、およびエディタにnullを使用するカバー・メソッドです。 |
TableColumn(int modelIndex, int width, TableCellRenderer cellRenderer, TableCellEditor cellEditor) |
モデル・インデックス、幅、セル・レンダラ、セル・エディタを指定して、
TableColumnのインスタンスを作成し、初期化します。すべてのTableColumnコンストラクタはこれに処理を委譲します。 |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener) |
リスナー・リストに
PropertyChangeListenerを追加します。 |
protected TableCellRenderer |
createDefaultHeaderRenderer() |
Java 2プラットフォームv1.3では、
TableColumnコンストラクタはこのメソッドを呼び出しません。 |
void |
disableResizedPosting() |
非推奨。
Java 2プラットフォームv1.3。
|
void |
enableResizedPosting() |
非推奨。
Java 2プラットフォームv1.3。
|
TableCellEditor |
getCellEditor() |
JTableがこの列の個々の値を編集するために使用するTableCellEditorを返します。 |
TableCellRenderer |
getCellRenderer() |
JTableがこの列の個々の値を描画するために使用するTableCellRendererを返します。 |
TableCellRenderer |
getHeaderRenderer() |
TableColumnのヘッダーを描画するために使われるTableCellRendererを返します。 |
Object |
getHeaderValue() |
ヘッダー・レンダラの値として使われる
Objectを返します。 |
Object |
getIdentifier() |
この列の
identifierオブジェクトを返します。 |
int |
getMaxWidth() |
TableColumnの最大幅を返します。 |
int |
getMinWidth() |
TableColumnの最小幅を返します。 |
int |
getModelIndex() |
この列のモデル・インデックスを返します。
|
int |
getPreferredWidth() |
TableColumnの適切な幅を返します。 |
PropertyChangeListener[] |
getPropertyChangeListeners() |
addPropertyChangeListener()を使用してこのTableColumnに追加されているすべての
PropertyChangeListenerの配列を返します。 |
boolean |
getResizable() |
ユーザーが
TableColumnの幅を変更できる場合にtrueを返します。そうでない場合はfalseを返します。 |
int |
getWidth() |
TableColumnの幅を返します。 |
void |
removePropertyChangeListener(PropertyChangeListener listener) |
PropertyChangeListenerをリスナー・リストから削除します。 |
void |
setCellEditor(TableCellEditor cellEditor) |
この列のセルを編集するときに使用できるようにエディタを設定します。
|
void |
setCellRenderer(TableCellRenderer cellRenderer) |
JTableがこの列の個々の値を描画するために使うTableCellRendererを設定します。 |
void |
setHeaderRenderer(TableCellRenderer headerRenderer) |
TableColumnのヘッダーを描画するために使用されるTableCellRendererを、headerRendererに設定します。 |
void |
setHeaderValue(Object headerValue) |
文字列表現が
headerRendererの値として使用されるObjectを設定します。 |
void |
setIdentifier(Object identifier) |
TableColumnの識別子をanIdentifierに設定します。 |
void |
setMaxWidth(int maxWidth) |
TableColumnの最大幅をmaxWidthに設定します。maxWidthが最小幅より小さい場合は、最小幅に設定します。 |
void |
setMinWidth(int minWidth) |
TableColumnの最小幅をminWidthに設定し、必要に応じてこの新しい最小幅が0 <= minWidth <= maxWidthになるように調整します。 |
void |
setModelIndex(int modelIndex) |
この列のモデル・インデックスを設定します。
|
void |
setPreferredWidth(int preferredWidth) |
この列の適切な幅を
preferredWidthに設定します。 |
void |
setResizable(boolean isResizable) |
この列がサイズ変更できるかどうかを設定します。
|
void |
setWidth(int width) |
このメソッドを使用して
JTableの列の幅を設定しないでください。代わりにsetPreferredWidthを使用します。 |
void |
sizeWidthToFit() |
ヘッダー・セルの幅に合うように、
TableColumnのサイズを変更します。 |
public static final String COLUMN_WIDTH_PROPERTY
public static final String HEADER_VALUE_PROPERTY
public static final String HEADER_RENDERER_PROPERTY
public static final String CELL_RENDERER_PROPERTY
protected int modelIndex
TableColumnが表示するモデルの列のインデックスです。 ビュー内で列が移動しても、modelIndexは変わりません。 protected Object identifier
JTableの描画機構が内部で使用するものではありません。識別子は、テーブル列にタグを付けたり、検索したりする方法の1つとして、TableColumnで設定できます。 テーブル・パッケージでは、DefaultTableColumnModelのgetColumnIndex()メソッドで使用されるequalsメソッドを除いて、それらの識別子オブジェクトでメソッドの変更や呼出しを行うことはありません。 protected int width
protected int minWidth
protected int maxWidth
protected TableCellRenderer headerRenderer
protected Object headerValue
protected TableCellRenderer cellRenderer
protected TableCellEditor cellEditor
protected boolean isResizable
@Deprecated protected transient int resizedPostingDisableCount
public TableColumn()
null、およびエディタにnullを使用するカバー・メソッドです。 このメソッドは、直列化に使用することを想定しています。 public TableColumn(int modelIndex)
null、およびエディタにnullを使用するカバー・メソッドです。public TableColumn(int modelIndex,
int width)
null、およびエディタにnullを使用するカバー・メソッドです。public TableColumn(int modelIndex,
int width,
TableCellRenderer cellRenderer,
TableCellEditor cellEditor)
TableColumnのインスタンスを作成し、初期化します。すべてのTableColumnコンストラクタはこれに処理を委譲します。 widthの値は初期幅と優先幅の両方に使用されます。widthが負の値である場合、それらは0に設定されます。 最小幅は15に設定されますが、初期幅が15より短い場合は初期幅に設定されます。
パラメータcellRendererまたはcellEditorがnullの場合は、JTableのgetDefaultRendererメソッドまたはgetDefaultEditorメソッドによって提供されたデフォルト値から、この列内のデータの型に基づいてデフォルトが提供されます。 JTableのgetCellRendererメソッドをオーバーライドすることで、列中心の描画方法を回避できます。
modelIndex - テーブル内のこの列のデータを提供するモデル内の列のインデックス。ビュー内の列の順序が変更されても、モデル・インデックスは変更されないwidth - この列の適切な幅および初期幅cellRenderer - この列内の値の描画に使用するオブジェクトcellEditor - この列内の値の編集に使用するオブジェクトgetMinWidth(), JTable.getDefaultRenderer(Class), JTable.getDefaultEditor(Class), JTable.getCellRenderer(int, int), JTable.getCellEditor(int, int)public void setModelIndex(int modelIndex)
TableColumnが表示するモデルの列のインデックスです。 TableColumnがビュー内で移動しても、モデル・インデックスは変わりません。 modelIndex - 新しいモデル・インデックスpublic int getModelIndex()
modelIndexプロパティpublic void setIdentifier(Object identifier)
TableColumnの識別子をanIdentifierに設定します。
ノート: 識別子はJTableによっては使用されず、列の外部タグ付けおよび検索のためだけに使用されます。
identifier - この列の識別子getIdentifier()public Object getIdentifier()
identifierオブジェクトを返します。 識別子はJTableによっては使用されず、純粋に外部用として提供されています。 identifierがnullの場合、getIdentifier()はデフォルトとしてgetHeaderValueを返します。 identifierプロパティsetIdentifier(java.lang.Object)public void setHeaderValue(Object headerValue)
headerRendererの値として使用されるObjectを設定します。 TableColumnが生成されるときのデフォルトheaderValueはnullです。 headerValue - 新規のheaderValuegetHeaderValue()public Object getHeaderValue()
Objectを返します。headerValueプロパティsetHeaderValue(java.lang.Object)public void setHeaderRenderer(TableCellRenderer headerRenderer)
TableColumnのヘッダーを描画するために使用されるTableCellRendererを、headerRendererに設定します。
これは、ソート・インジケータを描画するために使用されるヘッダー・レンダラです。 ソートを使用し、レンダラを指定する場合は、レンダラでソート・インジケータを描画する必要があります。
headerRenderer - 新規のheaderRenderergetHeaderRenderer()public TableCellRenderer getHeaderRenderer()
TableColumnのヘッダーを描画するために使われるTableCellRendererを返します。 headerRendererがnullの場合、JTableHeaderはそのdefaultRendererを使用します。 headerRendererのデフォルト値はnullです。 headerRendererプロパティsetHeaderRenderer(javax.swing.table.TableCellRenderer), setHeaderValue(java.lang.Object), JTableHeader.getDefaultRenderer()public void setCellRenderer(TableCellRenderer cellRenderer)
JTableがこの列の個々の値を描画するために使うTableCellRendererを設定します。cellRenderer - 新しいcellRenderergetCellRenderer()public TableCellRenderer getCellRenderer()
JTableがこの列の個々の値を描画するために使用するTableCellRendererを返します。 列のcellRendererは、列の表示を制御するだけでなく、TableModelが供給する値オブジェクトを解釈するためにも使われます。 cellRendererがnullの場合、JTableはその列のセル・クラスに基づいたデフォルトのレンダラを使用します。 cellRendererのデフォルト値はnullです。 public void setCellEditor(TableCellEditor cellEditor)
cellEditor - 新規のcellEditorgetCellEditor()public TableCellEditor getCellEditor()
JTableがこの列の個々の値を編集するために使用するTableCellEditorを返します。 cellEditorがnullの場合、JTableは列内のセルのクラスに基づいてデフォルト・エディタを使用します。 cellEditorのデフォルト値はnullです。 public void setWidth(int width)
JTableの列の幅を設定しないでください。代わりにsetPreferredWidthを使用します。 AWTのレイアウト・マネージャと同様に、テーブル自体がサイズを変更した場合や列の優先幅が変更された場合、JTableは必ず自動的に列の幅を調整します。 したがって、プログラムで幅を設定しても、長くは影響しません。
このメソッドは、列の幅をwidthに設定します。 widthが幅の最小値または最大値を超える場合は、適切な制限値に調整されます。
width - 新しい幅getWidth(), setMinWidth(int), setMaxWidth(int), setPreferredWidth(int), JTable.doLayout()public int getWidth()
TableColumnの幅を返します。 デフォルト幅は75です。 widthプロパティsetWidth(int)public void setPreferredWidth(int preferredWidth)
preferredWidthに設定します。 preferredWidthが幅の最小値または最大値を超える場合は、適切な制限値に調整されます。
preferredWidthからJTable (およびJTableHeader)内の列の幅を計算する方法については、JTableのdoLayoutメソッドを参照してください。
preferredWidth - 新規に設定された適切な幅getPreferredWidth(), JTable.doLayout()public int getPreferredWidth()
TableColumnの適切な幅を返します。 デフォルトの適切な幅は75です。 preferredWidthプロパティsetPreferredWidth(int)public void setMinWidth(int minWidth)
TableColumnの最小幅をminWidthに設定し、必要に応じてこの新しい最小幅が0 <= minWidth <= maxWidthになるように調整します。 たとえば、minWidth引数に負の値を指定した場合、このメソッドにより、minWidthプロパティは0に設定されます。
widthまたはpreferredWidthプロパティの値が新しい最小幅より小さい場合、このメソッドは新しい最小幅をプロパティ値として設定します。
minWidth - 新規の最小の幅getMinWidth(), setPreferredWidth(int), setMaxWidth(int)public int getMinWidth()
TableColumnの最小幅を返します。 TableColumnの幅は、ユーザーによっても、プログラムによっても、この値より小さくできません。 minWidthプロパティsetMinWidth(int), TableColumn(int, int, TableCellRenderer, TableCellEditor)public void setMaxWidth(int maxWidth)
TableColumnの最大幅をmaxWidthに設定します。maxWidthが最小幅より小さい場合は、最小幅に設定します。
widthまたはpreferredWidthプロパティの値が新しい最大幅より大きい場合、このメソッドは新しい最大幅をプロパティ値として設定します。
maxWidth - 新規の最大の幅getMaxWidth(), setPreferredWidth(int), setMinWidth(int)public int getMaxWidth()
TableColumnの最大幅を返します。 TableColumnの幅は、ユーザーによっても、プログラムによっても、この値より大きくできません。 デフォルトの最大幅はInteger.MAX_VALUEです。 maxWidthプロパティsetMaxWidth(int)public void setResizable(boolean isResizable)
isResizable - サイズ変更できる場合はtrue、そうでない場合はfalsegetResizable()public boolean getResizable()
TableColumnの幅を変更できる場合にtrueを返します。そうでない場合はfalseを返します。 この設定に関係なく、プログラムによって幅を変更できます。 デフォルトはtrueです。 isResizableプロパティsetResizable(boolean)public void sizeWidthToFit()
TableColumnのサイズを変更します。 ヘッダー・レンダラがデフォルトのnullの場合、このメソッドは何も行いません。 そうでない場合、この列の最小幅、最大幅、適正幅は、ヘッダー・レンダラで送信されたComponentの最小サイズ、最大サイズ、適正サイズに設定されます。 このTableColumnの一時的な「幅」のプロパティは、適正幅に設定されます。 このメソッドは、テーブル・パッケージによって内部的に使われません。 setPreferredWidth(int)@Deprecated public void disableResizedPosting()
@Deprecated public void enableResizedPosting()
public void addPropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListenerを追加します。 リスナーは、すべてのプロパティに対して登録されます。
現在のコンポーネントのsetFont、setBackground、またはsetForegroundへの明示的な呼出しに応じて、PropertyChangeEventがトリガーされます。 現在のコンポーネントがフォアグラウンド、バックグラウンド、またはフォントをコンテナから継承している場合、継承されたプロパティが変更されても、それに反応してイベントがトリガーされることはありません。
listener - 追加されるリスナーpublic void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListenerをリスナー・リストから削除します。 これは、すべてのプロパティで登録されたPropertyChangeListenerを削除します。 listener - 削除されるリスナーpublic PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListenerの配列を返します。PropertyChangeListener。リスナーが追加されていない場合は空の配列protected TableCellRenderer createDefaultHeaderRenderer()
TableColumnコンストラクタはこのメソッドを呼び出しません。 以前はTableColumnがこのメソッドを使用してデフォルトのヘッダー・レンダラを生成していました。 Java 2 platform v1.3以降、デフォルトのヘッダー・レンダラはnullです。 これでJTableHeaderは独自の共有デフォルト・レンダラを提供するようになりました。これは、JTableがセル・レンダラを提供するのと同様です。 JTableHeader.createDefaultRenderer() バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。