クラスTableColumn
- すべての実装されたインタフェース:
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 final StringJava 2プラットフォームv1.3では使用しません。protected TableCellEditor列のデータ・セルを編集するために使われるエディタです。protected TableCellRenderer列のデータ・セルを描画するために使われるレンダラです。static final StringJava 2プラットフォームv1.3では使用しません。static final StringJava 2プラットフォームv1.3では使用しません。static final StringJava 2プラットフォームv1.3では使用しません。protected TableCellRenderer列のヘッダーを描画するために使われるレンダラです。protected Object列のヘッダー値です。protected Objectこのオブジェクトは、JTableの描画機械では内部的には使用されません。表列をタグ付けして検索するオプションの方法として、TableColumnに識別子を設定できます。protected booleanユーザーが列のサイズを変更できる場合はtrueです。デフォルトはtrueです。protected int列の最大の幅です。protected int列の最小の幅です。protected intTableColumnが表示するモデルの列のインデックスです。protected int非推奨。Java 2プラットフォームv1.3以降protected int列の幅です。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明デフォルトのモデル・インデックスとして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リスナー・リストにPropertyChangeListenerを追加します。protected TableCellRendererJava 2プラットフォームv1.3では、TableColumnコンストラクタはこのメソッドを呼び出しません。void非推奨。Java 2プラットフォームv1.3以降void非推奨。Java 2プラットフォームv1.3以降JTableがこの列の個々の値を編集するために使用するTableCellEditorを返します。JTableがこの列の個々の値を描画するために使用するTableCellRendererを返します。TableColumnのヘッダーを描画するために使われるTableCellRendererを返します。ヘッダー・レンダラの値として使われるObjectを返します。この列のidentifierオブジェクトを返します。intTableColumnの最大幅を返します。intTableColumnの最小幅を返します。intこの列のモデル・インデックスを返します。intTableColumnの適切な幅を返します。addPropertyChangeListener()を使用してこのTableColumnに追加されているすべてのPropertyChangeListenerの配列を返します。booleanユーザーがTableColumnの幅を変更できる場合にtrueを返します。そうでない場合はfalseを返します。intgetWidth()TableColumnの幅を返します。voidPropertyChangeListenerをリスナー・リストから削除します。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を使用します。voidヘッダー・セルの幅に合うように、TableColumnのサイズを変更します。
-
フィールド詳細
-
COLUMN_WIDTH_PROPERTY
public static final String COLUMN_WIDTH_PROPERTYJava 2プラットフォームv1.3では使用しません。 プロパティを指定するにはリテラル文字列を使用してください。- 関連項目:
-
HEADER_VALUE_PROPERTY
public static final String HEADER_VALUE_PROPERTYJava 2プラットフォームv1.3では使用しません。 プロパティを指定するにはリテラル文字列を使用してください。- 関連項目:
-
HEADER_RENDERER_PROPERTY
public static final String HEADER_RENDERER_PROPERTYJava 2プラットフォームv1.3では使用しません。 プロパティを指定するにはリテラル文字列を使用してください。- 関連項目:
-
CELL_RENDERER_PROPERTY
public static final String CELL_RENDERER_PROPERTYJava 2プラットフォームv1.3では使用しません。 プロパティを指定するにはリテラル文字列を使用してください。- 関連項目:
-
modelIndex
protected int modelIndexTableColumnが表示するモデルの列のインデックスです。 ビュー内で列が移動しても、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
public TableColumn(int modelIndex, int width) レンダラにnull、およびエディタにnullを使用するカバー・メソッドです。- パラメータ:
modelIndex- テーブル内のこの列のデータを提供するモデル内の列のインデックス。ビュー内の列の順序が変更されても、モデル・インデックスは変更されないwidth- この列の適切な幅および初期幅- 関連項目:
-
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- この列内の値の編集に使用するオブジェクト- 関連項目:
-
-
メソッドの詳細
-
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
public Object getIdentifier()この列のidentifierオブジェクトを返します。 識別子はJTableによっては使用されず、純粋に外部用として提供されています。identifierがnullの場合、getIdentifier()はデフォルトとしてgetHeaderValueを返します。- 戻り値:
identifierプロパティ- 関連項目:
-
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
-
setHeaderRenderer
@BeanProperty(description="The header renderer.") public void setHeaderRenderer(TableCellRenderer headerRenderer) TableColumnのヘッダーを描画するために使用されるTableCellRendererを、headerRendererに設定します。これは、ソート・インジケータを描画するために使用されるヘッダー・レンダラです。 ソートを使用し、レンダラを指定する場合は、レンダラでソート・インジケータを描画する必要があります。
- パラメータ:
headerRenderer- 新規のheaderRenderer- 関連項目:
-
getHeaderRenderer
public TableCellRenderer getHeaderRenderer()TableColumnのヘッダーを描画するために使われるTableCellRendererを返します。headerRendererがnullの場合、JTableHeaderはそのdefaultRendererを使用します。headerRendererのデフォルト値はnullです。- 戻り値:
headerRendererプロパティ- 関連項目:
-
setCellRenderer
@BeanProperty(description="The renderer to use for cell values.") public void setCellRenderer(TableCellRenderer cellRenderer) JTableがこの列の個々の値を描画するために使うTableCellRendererを設定します。- パラメータ:
cellRenderer- 新しいcellRenderer- 関連項目:
-
getCellRenderer
public TableCellRenderer getCellRenderer()JTableがこの列の個々の値を描画するために使用するTableCellRendererを返します。 列のcellRendererは、列の表示を制御するだけでなく、TableModelが供給する値オブジェクトを解釈するためにも使われます。cellRendererがnullの場合、JTableはその列のセル・クラスに基づいたデフォルトのレンダラを使用します。cellRendererのデフォルト値はnullです。- 戻り値:
cellRendererプロパティ- 関連項目:
-
setCellEditor
@BeanProperty(description="The editor to use for cell values.") public void setCellEditor(TableCellEditor cellEditor) この列のセルを編集するときに使用できるようにエディタを設定します。- パラメータ:
cellEditor- 新規のcellEditor- 関連項目:
-
getCellEditor
public TableCellEditor getCellEditor()JTableがこの列の個々の値を編集するために使用するTableCellEditorを返します。cellEditorがnullの場合、JTableは列内のセルのクラスに基づいてデフォルト・エディタを使用します。cellEditorのデフォルト値はnullです。- 戻り値:
cellEditorプロパティ- 関連項目:
-
setWidth
@BeanProperty(description="The width of the column.") public void setWidth(int width) このメソッドを使用してJTableの列の幅を設定しないでください。代わりにsetPreferredWidthを使用します。 AWTのレイアウト・マネージャと同様に、テーブル自体がサイズを変更した場合や列の優先幅が変更された場合、JTableは必ず自動的に列の幅を調整します。 したがって、プログラムで幅を設定しても、長くは影響しません。このメソッドは、列の幅を
widthに設定します。widthが幅の最小値または最大値を超える場合は、適切な制限値に調整されます。- パラメータ:
width- 新しい幅- 関連項目:
-
getWidth
public int getWidth()TableColumnの幅を返します。 デフォルト幅は75です。- 戻り値:
widthプロパティ- 関連項目:
-
setPreferredWidth
@BeanProperty(description="The preferred width of the column.") public void setPreferredWidth(int preferredWidth) この列の適切な幅をpreferredWidthに設定します。preferredWidthが幅の最小値または最大値を超える場合は、適切な制限値に調整されます。preferredWidthからJTable(およびJTableHeader)内の列の幅を計算する方法については、JTableのdoLayoutメソッドを参照してください。- パラメータ:
preferredWidth- 新規に設定された適切な幅- 関連項目:
-
getPreferredWidth
public int getPreferredWidth()TableColumnの適切な幅を返します。 デフォルトの適切な幅は75です。- 戻り値:
preferredWidthプロパティ- 関連項目:
-
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
public int getMinWidth()TableColumnの最小幅を返します。TableColumnの幅は、ユーザーによっても、プログラムによっても、この値より小さくできません。- 戻り値:
minWidthプロパティ- 関連項目:
-
setMaxWidth
@BeanProperty(description="The maximum width of the column.") public void setMaxWidth(int maxWidth) TableColumnの最大幅をmaxWidthに設定します。maxWidthが最小幅より小さい場合は、最小幅に設定します。widthまたはpreferredWidthプロパティの値が新しい最大幅より大きい場合、このメソッドは新しい最大幅をプロパティ値として設定します。- パラメータ:
maxWidth- 新規の最大の幅- 関連項目:
-
getMaxWidth
public int getMaxWidth()TableColumnの最大幅を返します。TableColumnの幅は、ユーザーによっても、プログラムによっても、この値より大きくできません。 デフォルトの最大幅はInteger.MAX_VALUEです。- 戻り値:
maxWidthプロパティ- 関連項目:
-
setResizable
@BeanProperty(description="Whether or not this column can be resized.") public void setResizable(boolean isResizable) この列がサイズ変更できるかどうかを設定します。- パラメータ:
isResizable- サイズ変更できる場合はtrue、そうでない場合はfalse- 関連項目:
-
getResizable
public boolean getResizable()ユーザーがTableColumnの幅を変更できる場合にtrueを返します。そうでない場合はfalseを返します。 この設定に関係なく、プログラムによって幅を変更できます。 デフォルトは、trueです。- 戻り値:
isResizableプロパティ- 関連項目:
-
sizeWidthToFit
public void sizeWidthToFit()ヘッダー・セルの幅に合うように、TableColumnのサイズを変更します。 ヘッダー・レンダラがデフォルトのnullの場合、このメソッドは何も行いません。 そうでない場合、この列の最小幅、最大幅、適正幅は、ヘッダー・レンダラで送信されたComponentの最小サイズ、最大サイズ、適正サイズに設定されます。 このTableColumnの一時的な「幅」のプロパティは、適正幅に設定されます。 このメソッドは、テーブル・パッケージによって内部的に使われません。- 関連項目:
-
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を追加します。 このリスナーは、次のような、このクラスのすべてのバウンド・プロパティに登録されます。- この表列のmodelIndex ("modelIndex")
- このTableColumnの識別子("identifier")
- このTableColumnのヘッダー値("headerValue")
- このTableColumnのヘッダー・レンダラ("headerRenderer")
- このTableColumnのセル・レンダラ("cellRenderer")
- このTableColumnのセル・エディタ("cellEditor")
- このTableColumnの幅 ("width")
- このTableColumnの優先幅("preferredWidth")
- このTableColumnの最小幅("minWidth")
- このTableColumnの最大幅("maxWidth")
- このTableColumnのサイズ変更可能な状態("isResizable")
- パラメータ:
listener- 追加されるリスナー- 関連項目:
-
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がセル・レンダラを提供するのと同様です。- 戻り値:
- デフォルトのヘッダー・レンダラ
- 関連項目:
-