- java.lang.Object
-
- javax.swing.table.TableColumn
-
- すべての実装されたインタフェース:
Serializable
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 StringCELL_RENDERER_PROPERTYJava 2プラットフォームv1.3では使用しません。protected TableCellEditorcellEditor列のデータ・セルを編集するために使われるエディタです。protected TableCellRenderercellRenderer列のデータ・セルを描画するために使われるレンダラです。static StringCOLUMN_WIDTH_PROPERTYJava 2プラットフォームv1.3では使用しません。static StringHEADER_RENDERER_PROPERTYJava 2プラットフォームv1.3では使用しません。static StringHEADER_VALUE_PROPERTYJava 2プラットフォームv1.3では使用しません。protected TableCellRendererheaderRenderer列のヘッダーを描画するために使われるレンダラです。protected ObjectheaderValue列のヘッダー値です。protected Objectidentifierこのオブジェクトは、JTableの描画機構によって内部的に使用されていません;TableColumnに表列をタグ付けして配置するためのオプションとして識別子を設定することができます。protected booleanisResizableユーザーが列のサイズを変更できる場合はtrueです。デフォルトはtrueです。protected intmaxWidth列の最大の幅です。protected intminWidth列の最小の幅です。protected intmodelIndexTableColumnが表示するモデルの列のインデックスです。protected intresizedPostingDisableCount非推奨。Java 2プラットフォームv1.3以降protected intwidth列の幅です。
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 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コンストラクタはこれに処理を委譲します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 非推奨のメソッド 修飾子と型 メソッド 説明 voidaddPropertyChangeListener(PropertyChangeListener listener)リスナー・リストにPropertyChangeListenerを追加します。protected TableCellRenderercreateDefaultHeaderRenderer()Java 2プラットフォームv1.3では、TableColumnコンストラクタはこのメソッドを呼び出しません。voiddisableResizedPosting()非推奨。Java 2プラットフォームv1.3以降voidenableResizedPosting()非推奨。Java 2プラットフォームv1.3以降TableCellEditorgetCellEditor()JTableがこの列の個々の値を編集するために使用するTableCellEditorを返します。TableCellRenderergetCellRenderer()JTableがこの列の個々の値を描画するために使用するTableCellRendererを返します。TableCellRenderergetHeaderRenderer()TableColumnのヘッダーを描画するために使われるTableCellRendererを返します。ObjectgetHeaderValue()ヘッダー・レンダラの値として使われるObjectを返します。ObjectgetIdentifier()この列のidentifierオブジェクトを返します。intgetMaxWidth()TableColumnの最大幅を返します。intgetMinWidth()TableColumnの最小幅を返します。intgetModelIndex()この列のモデル・インデックスを返します。intgetPreferredWidth()TableColumnの適切な幅を返します。PropertyChangeListener[]getPropertyChangeListeners()addPropertyChangeListener()を使用してこのTableColumnに追加されているすべてのPropertyChangeListenerの配列を返します。booleangetResizable()ユーザーがTableColumnの幅を変更できる場合にtrueを返します。そうでない場合はfalseを返します。intgetWidth()TableColumnの幅を返します。voidremovePropertyChangeListener(PropertyChangeListener listener)PropertyChangeListenerをリスナー・リストから削除します。voidsetCellEditor(TableCellEditor cellEditor)この列のセルを編集するときに使用できるようにエディタを設定します。voidsetCellRenderer(TableCellRenderer cellRenderer)JTableがこの列の個々の値を描画するために使うTableCellRendererを設定します。voidsetHeaderRenderer(TableCellRenderer headerRenderer)TableColumnのヘッダーを描画するために使用されるTableCellRendererを、headerRendererに設定します。voidsetHeaderValue(Object headerValue)文字列表現がheaderRendererの値として使用されるObjectを設定します。voidsetIdentifier(Object identifier)TableColumnの識別子をanIdentifierに設定します。voidsetMaxWidth(int maxWidth)TableColumnの最大幅をmaxWidthに設定します。maxWidthが最小幅より小さい場合は、最小幅に設定します。voidsetMinWidth(int minWidth)TableColumnの最小幅をminWidthに設定し、必要に応じてこの新しい最小幅が0 <=minWidth<=maxWidthになるように調整します。voidsetModelIndex(int modelIndex)この列のモデル・インデックスを設定します。voidsetPreferredWidth(int preferredWidth)この列の適切な幅をpreferredWidthに設定します。voidsetResizable(boolean isResizable)この列がサイズ変更できるかどうかを設定します。voidsetWidth(int width)このメソッドを使用してJTableの列の幅を設定しないでください。代わりにsetPreferredWidthを使用します。voidsizeWidthToFit()ヘッダー・セルの幅に合うように、TableColumnのサイズを変更します。
-
-
-
フィールドの詳細
-
COLUMN_WIDTH_PROPERTY
public static final String COLUMN_WIDTH_PROPERTY
Java 2プラットフォームv1.3で廃止されました。 プロパティを指定するにはリテラル文字列を使用してください。- 関連項目:
- 定数フィールド値
-
HEADER_VALUE_PROPERTY
public static final String HEADER_VALUE_PROPERTY
Java 2プラットフォームv1.3で廃止されました。 プロパティを指定するにはリテラル文字列を使用してください。- 関連項目:
- 定数フィールド値
-
HEADER_RENDERER_PROPERTY
public static final String HEADER_RENDERER_PROPERTY
Java 2プラットフォームv1.3で廃止されました。 プロパティを指定するにはリテラル文字列を使用してください。- 関連項目:
- 定数フィールド値
-
CELL_RENDERER_PROPERTY
public static final String CELL_RENDERER_PROPERTY
Java 2プラットフォームv1.3で廃止されました。 プロパティを指定するにはリテラル文字列を使用してください。- 関連項目:
- 定数フィールド値
-
modelIndex
protected int modelIndex
TableColumnが表示するモデルの列のインデックスです。 ビュー内で列が移動しても、modelIndexは変わりません。
-
identifier
protected Object identifier
このオブジェクトは、JTableの描画機構によって内部的に使用されていません;TableColumnに表列をタグ付けして配置するためのオプションとして識別子を設定することができます。 テーブル・パッケージでは、DefaultTableColumnModelのgetColumnIndex()メソッドで使用されるequalsメソッドを除いて、それらの識別子オブジェクトでメソッドの変更や呼出しを行うことはありません。
-
width
protected int width
列の幅です。
-
minWidth
protected int minWidth
列の最小の幅です。
-
maxWidth
protected int maxWidth
列の最大の幅です。
-
headerRenderer
protected TableCellRenderer headerRenderer
列のヘッダーを描画するために使われるレンダラです。
-
headerValue
protected Object headerValue
列のヘッダー値です。
-
cellRenderer
protected TableCellRenderer cellRenderer
列のデータ・セルを描画するために使われるレンダラです。
-
cellEditor
protected TableCellEditor cellEditor
列のデータ・セルを編集するために使われるエディタです。
-
isResizable
protected boolean isResizable
ユーザーが列のサイズを変更できる場合はtrueです。デフォルトはtrueです。
-
resizedPostingDisableCount
@Deprecated protected transient int resizedPostingDisableCount
非推奨。Java 2プラットフォームv1.3以降このフィールドは旧リリースでは使用されておらず、現在のところ将来サポートする計画もありません。
-
-
コンストラクタの詳細
-
TableColumn
public TableColumn()
デフォルトのモデル・インデックスとして0、デフォルトの幅として75、レンダラにnull、およびエディタにnullを使用するカバー・メソッドです。 このメソッドは、直列化に使用することを想定しています。
-
TableColumn
public TableColumn(int modelIndex)
デフォルトの幅として75、レンダラにnull、およびエディタにnullを使用するカバー・メソッドです。- パラメータ:
modelIndex- テーブル内のこの列のデータを提供するモデル内の列のインデックス。ビュー内の列の順序が変更されても、モデル・インデックスは変更されない- 関連項目:
TableColumn(int, int, TableCellRenderer, TableCellEditor)
-
TableColumn
public TableColumn(int modelIndex, int width)レンダラにnull、およびエディタにnullを使用するカバー・メソッドです。- パラメータ:
modelIndex- テーブル内のこの列のデータを提供するモデル内の列のインデックス。ビュー内の列の順序が変更されても、モデル・インデックスは変更されないwidth- この列の適切な幅および初期幅- 関連項目:
TableColumn(int, int, TableCellRenderer, TableCellEditor)
-
TableColumn
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)
-
-
メソッドの詳細
-
setModelIndex
@BeanProperty(description="The model index.") public void setModelIndex(int modelIndex)
この列のモデル・インデックスを設定します。 モデル・インデックスは、このTableColumnが表示するモデルの列のインデックスです。TableColumnがビュー内で移動しても、モデル・インデックスは変わりません。- パラメータ:
modelIndex- 新しいモデル・インデックス
-
getModelIndex
public int getModelIndex()
この列のモデル・インデックスを返します。- 戻り値:
modelIndexプロパティ
-
setIdentifier
@BeanProperty(description="A unique identifier for this column.") public void setIdentifier(Object identifier)
TableColumnの識別子をanIdentifierに設定します。ノート: 識別子は
JTableによっては使用されず、列の外部タグ付けおよび検索のためだけに使用されます。- パラメータ:
identifier- この列の識別子- 関連項目:
getIdentifier()
-
getIdentifier
public Object getIdentifier()
この列のidentifierオブジェクトを返します。 識別子はJTableによっては使用されず、純粋に外部用として提供されています。identifierがnullの場合、getIdentifier()はデフォルトとしてgetHeaderValueを返します。- 戻り値:
identifierプロパティ- 関連項目:
setIdentifier(java.lang.Object)
-
setHeaderValue
@BeanProperty(description="The text to be used by the header renderer.") public void setHeaderValue(Object headerValue)
文字列表現がheaderRendererの値として使用されるObjectを設定します。TableColumnが生成されるときのデフォルトheaderValueはnullです。- パラメータ:
headerValue- 新規のheaderValue- 関連項目:
getHeaderValue()
-
getHeaderValue
public Object getHeaderValue()
ヘッダー・レンダラの値として使われるObjectを返します。- 戻り値:
headerValueプロパティ- 関連項目:
setHeaderValue(java.lang.Object)
-
setHeaderRenderer
@BeanProperty(description="The header renderer.") public void setHeaderRenderer(TableCellRenderer headerRenderer)
TableColumnのヘッダーを描画するために使用されるTableCellRendererを、headerRendererに設定します。これは、ソート・インジケータを描画するために使用されるヘッダー・レンダラです。 ソートを使用し、レンダラを指定する場合は、レンダラでソート・インジケータを描画する必要があります。
- パラメータ:
headerRenderer- 新規のheaderRenderer- 関連項目:
getHeaderRenderer()
-
getHeaderRenderer
public TableCellRenderer getHeaderRenderer()
TableColumnのヘッダーを描画するために使われるTableCellRendererを返します。headerRendererがnullの場合、JTableHeaderはそのdefaultRendererを使用します。headerRendererのデフォルト値はnullです。- 戻り値:
headerRendererプロパティ- 関連項目:
setHeaderRenderer(javax.swing.table.TableCellRenderer),setHeaderValue(java.lang.Object),JTableHeader.getDefaultRenderer()
-
setCellRenderer
@BeanProperty(description="The renderer to use for cell values.") public void setCellRenderer(TableCellRenderer cellRenderer)
JTableがこの列の個々の値を描画するために使うTableCellRendererを設定します。- パラメータ:
cellRenderer- 新しいcellRenderer- 関連項目:
getCellRenderer()
-
getCellRenderer
public TableCellRenderer getCellRenderer()
JTableがこの列の個々の値を描画するために使用するTableCellRendererを返します。 列のcellRendererは、列の表示を制御するだけでなく、TableModelが供給する値オブジェクトを解釈するためにも使われます。cellRendererがnullの場合、JTableはその列のセル・クラスに基づいたデフォルトのレンダラを使用します。cellRendererのデフォルト値はnullです。
-
setCellEditor
@BeanProperty(description="The editor to use for cell values.") public void setCellEditor(TableCellEditor cellEditor)
この列のセルを編集するときに使用できるようにエディタを設定します。- パラメータ:
cellEditor- 新規のcellEditor- 関連項目:
getCellEditor()
-
getCellEditor
public TableCellEditor getCellEditor()
JTableがこの列の個々の値を編集するために使用するTableCellEditorを返します。cellEditorがnullの場合、JTableは列内のセルのクラスに基づいてデフォルト・エディタを使用します。cellEditorのデフォルト値はnullです。
-
setWidth
@BeanProperty(description="The width of the column.") public void setWidth(int width)
このメソッドを使用してJTableの列の幅を設定しないでください。代わりにsetPreferredWidthを使用します。 AWTのレイアウト・マネージャと同様に、テーブル自体がサイズを変更した場合や列の優先幅が変更された場合、JTableは必ず自動的に列の幅を調整します。 したがって、プログラムで幅を設定しても、長くは影響しません。このメソッドは、列の幅を
widthに設定します。widthが幅の最小値または最大値を超える場合は、適切な制限値に調整されます。- パラメータ:
width- 新しい幅- 関連項目:
getWidth(),setMinWidth(int),setMaxWidth(int),setPreferredWidth(int),JTable.doLayout()
-
getWidth
public int getWidth()
TableColumnの幅を返します。 デフォルト幅は75です。- 戻り値:
widthプロパティ- 関連項目:
setWidth(int)
-
setPreferredWidth
@BeanProperty(description="The preferred width of the column.") public void setPreferredWidth(int preferredWidth)
この列の適切な幅をpreferredWidthに設定します。preferredWidthが幅の最小値または最大値を超える場合は、適切な制限値に調整されます。preferredWidthからJTable(およびJTableHeader)内の列の幅を計算する方法については、JTableのdoLayoutメソッドを参照してください。- パラメータ:
preferredWidth- 新規に設定された適切な幅- 関連項目:
getPreferredWidth(),JTable.doLayout()
-
getPreferredWidth
public int getPreferredWidth()
TableColumnの適切な幅を返します。 デフォルトの適切な幅は75です。- 戻り値:
preferredWidthプロパティ- 関連項目:
setPreferredWidth(int)
-
setMinWidth
@BeanProperty(description="The minimum width of the column.") public void setMinWidth(int minWidth)
TableColumnの最小幅をminWidthに設定し、必要に応じてこの新しい最小幅が0 <=minWidth<=maxWidthになるように調整します。 たとえば、minWidth引数に負の値を指定した場合、このメソッドにより、minWidthプロパティは0に設定されます。widthまたはpreferredWidthプロパティの値が新しい最小幅より小さい場合、このメソッドは新しい最小幅をプロパティ値として設定します。- パラメータ:
minWidth- 新規の最小の幅- 関連項目:
getMinWidth(),setPreferredWidth(int),setMaxWidth(int)
-
getMinWidth
public int getMinWidth()
TableColumnの最小幅を返します。TableColumnの幅は、ユーザーによっても、プログラムによっても、この値より小さくできません。- 戻り値:
minWidthプロパティ- 関連項目:
setMinWidth(int),TableColumn(int, int, TableCellRenderer, TableCellEditor)
-
setMaxWidth
@BeanProperty(description="The maximum width of the column.") public void setMaxWidth(int maxWidth)
TableColumnの最大幅をmaxWidthに設定します。maxWidthが最小幅より小さい場合は、最小幅に設定します。widthまたはpreferredWidthプロパティの値が新しい最大幅より大きい場合、このメソッドは新しい最大幅をプロパティ値として設定します。- パラメータ:
maxWidth- 新規の最大の幅- 関連項目:
getMaxWidth(),setPreferredWidth(int),setMinWidth(int)
-
getMaxWidth
public int getMaxWidth()
TableColumnの最大幅を返します。TableColumnの幅は、ユーザーによっても、プログラムによっても、この値より大きくできません。 デフォルトの最大幅はInteger.MAX_VALUEです。- 戻り値:
maxWidthプロパティ- 関連項目:
setMaxWidth(int)
-
setResizable
@BeanProperty(description="Whether or not this column can be resized.") public void setResizable(boolean isResizable)
この列がサイズ変更できるかどうかを設定します。- パラメータ:
isResizable- サイズ変更できる場合はtrue、そうでない場合はfalse- 関連項目:
getResizable()
-
getResizable
public boolean getResizable()
ユーザーがTableColumnの幅を変更できる場合にtrueを返します。そうでない場合はfalseを返します。 この設定に関係なく、プログラムによって幅を変更できます。 デフォルトはtrueです。- 戻り値:
isResizableプロパティ- 関連項目:
setResizable(boolean)
-
sizeWidthToFit
public void sizeWidthToFit()
ヘッダー・セルの幅に合うように、TableColumnのサイズを変更します。 ヘッダー・レンダラがデフォルトのnullの場合、このメソッドは何も行いません。 そうでない場合、この列の最小幅、最大幅、適正幅は、ヘッダー・レンダラで送信されたComponentの最小サイズ、最大サイズ、適正サイズに設定されます。 このTableColumnの一時的な「幅」のプロパティは、適正幅に設定されます。 このメソッドは、テーブル・パッケージによって内部的に使われません。- 関連項目:
setPreferredWidth(int)
-
disableResizedPosting
@Deprecated public void disableResizedPosting()
非推奨。Java 2プラットフォームv1.3以降このフィールドは旧リリースでは使用されておらず、現在のところ将来サポートする計画もありません。
-
enableResizedPosting
@Deprecated public void enableResizedPosting()
非推奨。Java 2プラットフォームv1.3以降このフィールドは旧リリースでは使用されておらず、現在のところ将来サポートする計画もありません。
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
リスナー・リストにPropertyChangeListenerを追加します。 このリスナーは、次のような、このクラスのすべてのバウンド・プロパティに登録されます。- このTableColumnのmodelIndex ("modelIndex")
- このTableColumn識別子("identifier")
- このTableColumnヘッダー値("headerValue")
- このTableColumnヘッダー・レンダラ("headerRenderer")
- このTableColumnセル・レンダラ("cellRenderer")
- このTableColumnセル・エディタ("cellEditor")
- このTableColumnの幅("width")
- このTableColumnの優先幅("preferredWidth")
- このTableColumnの最小幅("minWidth")
- このTableColumnの最大幅("maxWidth")
- このTableColumnのサイズ変更可能な状態("isResizable")
- パラメータ:
listener- 追加されるリスナー- 関連項目:
removePropertyChangeListener(PropertyChangeListener)
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
PropertyChangeListenerをリスナー・リストから削除します。 これは、すべてのプロパティで登録されたPropertyChangeListenerを削除します。- パラメータ:
listener- 削除されるリスナー
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
addPropertyChangeListener()を使用してこのTableColumnに追加されているすべてのPropertyChangeListenerの配列を返します。- 戻り値:
- 追加されたすべての
PropertyChangeListener。リスナーが追加されていない場合は空の配列 - 導入されたバージョン:
- 1.4
-
createDefaultHeaderRenderer
protected TableCellRenderer createDefaultHeaderRenderer()
Java 2プラットフォームv1.3では、TableColumnコンストラクタはこのメソッドを呼び出しません。 以前はTableColumnがこのメソッドを使用してデフォルトのヘッダー・レンダラを生成していました。 Java 2 platform v1.3以降、デフォルトのヘッダー・レンダラはnullです。 これでJTableHeaderは独自の共有デフォルト・レンダラを提供するようになりました。これは、JTableがセル・レンダラを提供するのと同様です。- 戻り値:
- デフォルトのヘッダー・レンダラ
- 関連項目:
JTableHeader.createDefaultRenderer()
-
-