JavaTM Platform
Standard Ed. 6

javax.swing.table
クラス TableColumn

java.lang.Object
  上位を拡張 javax.swing.table.TableColumn
すべての実装されたインタフェース:
Serializable

public class TableColumn
extends Object
implements Serializable

TableColumnJTable の列のすべての属性 (幅、サイズ変更可能性、最小と最大の幅など) を表します。さらに、TableColumn は、レンダリングおよびエディタに対して、この列内の値を表示および編集するために使用できるスロットを提供します。

また、列ごとではなくタイプごとにレンダリングおよびエディタを指定することも可能です (JTable クラスの setDefaultRenderer メソッドを参照)。このデフォルトの機構は、TableColumn 内のレンダリング (またはエディタ) が null のときにだけ使用されます。

TableColumn は、JTable の列と TableModel の列のリンクを格納します。modelIndex は、この列のセルのデータ値が問い合わせられる TableModel の列です。ビュー内で列が移動しても、この modelIndex は変わりません。

注: 一部の実装では、すべての TableColumnModel が一意とみなされるため、同じ TableColumn インスタンスを TableColumnModel に何度も追加しないことをお勧めします。モデルから同じ列のデータを使用して TableColumn を表示するには、同じ modelIndex を使用して新しいインスタンスを作成してください。

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。JDK Version 1.4 以降、すべての JavaBeans の長期間の運用サポートは、java.beans パッケージに追加されています。詳細は、XMLEncoder を参照してください。

関連項目:
TableColumnModel, DefaultTableColumnModel, JTableHeader.getDefaultRenderer(), JTable.getDefaultRenderer(Class), JTable.getDefaultEditor(Class), JTable.getCellRenderer(int, int), JTable.getCellEditor(int, int)

フィールドの概要
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 の描画機構が内部で使用するものではありません。
protected  boolean isResizable
          ユーザーが列のサイズを変更できる場合は 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 のインスタンスを作成し、初期化します。
 
メソッドの概要
 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 を返します。
 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 に設定します。
 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 の列の幅を設定しないでください。
 void sizeWidthToFit()
          ヘッダーセルの幅に合うように、TableColumn のサイズを変更します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

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 で設定できます。テーブルパッケージは、DefaultTableColumnModelgetColumnIndex() で使用される 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(int, int, TableCellRenderer, TableCellEditor)

TableColumn

public TableColumn(int modelIndex)
デフォルトの幅として 75、レンダリングに null、およびエディタに null を使用する、カバーメソッドです。

関連項目:
TableColumn(int, int, TableCellRenderer, TableCellEditor)

TableColumn

public TableColumn(int modelIndex,
                   int width)
レンダリングに null、およびエディタに null を使用する、カバーメソッドです。

関連項目:
TableColumn(int, int, TableCellRenderer, TableCellEditor)

TableColumn

public TableColumn(int modelIndex,
                   int width,
                   TableCellRenderer cellRenderer,
                   TableCellEditor cellEditor)
モデルインデックス、幅、セルレンダリング、セルエディタを指定して、TableColumn のインスタンスを作成し、初期化します。すべての TableColumn コンストラクタはこれに処理を委譲します。width の値は、初期幅と適切な幅の両方に使用されます。width に負の値を指定した場合は、0 に設定されます。最小幅は 15 に設定されますが、初期幅が 15 より短い場合は初期幅に設定されます。

パラメータ cellRenderer または cellEditornull の場合は、JTablegetDefaultRenderer メソッドまたは getDefaultEditor メソッドによって提供されたデフォルト値から、この列内のデータの型に基づいてデフォルトが提供されます。JTablegetCellRenderer メソッドをオーバーライドすることで、列中心の描画方法を回避できます。

パラメータ:
modelIndex - テーブル内のこの列のデータを提供する モデル内の列のインデックス。 ビュー内の列の順序が変更されても、 モデルインデックスは変更されない
width - この列の適切な幅および初期幅
cellRenderer - この列内の値の描画に使用するオブジェクト
cellEditor - この列内の値の編集に使用するオブジェクト
関連項目:
getMinWidth(), JTable.getDefaultRenderer(Class), JTable.getDefaultEditor(Class), JTable.getCellRenderer(int, int), JTable.getCellEditor(int, int)
メソッドの詳細

setModelIndex

public void setModelIndex(int modelIndex)
この列のモデルインデックスを設定します。モデルインデックスは、この TableColumn が表示するモデルの列のインデックスです。TableColumn がビュー内で移動しても、モデルインデックスは変わりません。

パラメータ:
modelIndex - 新しいモデルインデックス

getModelIndex

public int getModelIndex()
この列のモデルインデックスを返します。

戻り値:
modelIndex プロパティー

setIdentifier

public void setIdentifier(Object identifier)
TableColumn の識別子を anIdentifier に設定します。

注: 識別子は JTable によっては使用されず、列の外部タグ付けおよび検索のためだけに使用されます。

パラメータ:
identifier - この列の識別子
関連項目:
getIdentifier()

getIdentifier

public Object getIdentifier()
この列の identifier オブジェクトを返します。JTable は識別子を使用しません。識別子は、純粋に外部用として提供されています。identifiernull の場合、getIdentifier() はデフォルトで getHeaderValue を返します。

戻り値:
identifier プロパティー
関連項目:
setIdentifier(java.lang.Object)

setHeaderValue

public void setHeaderValue(Object headerValue)
文字列表現が headerRenderer の値として使用される Object を設定します。TableColumn が生成されるときのデフォルト headerValuenull です。

パラメータ:
headerValue - 新規の headerValue
関連項目:
getHeaderValue()

getHeaderValue

public Object getHeaderValue()
ヘッダーレンダリングの値として使われる Object を返します。

戻り値:
headerValue プロパティー
関連項目:
setHeaderValue(java.lang.Object)

setHeaderRenderer

public void setHeaderRenderer(TableCellRenderer headerRenderer)
TableColumn のヘッダーを描画するために使用される TableCellRenderer を、headerRenderer に設定します。

これは、ソートインジケータを描画するために使用されるヘッダーレンダリングです。ソートを使用し、レンダリングを指定する場合は、レンダリングでソートインジケータを描画する必要があります。

パラメータ:
headerRenderer - 新規の headerRenderer
関連項目:
getHeaderRenderer()

getHeaderRenderer

public TableCellRenderer getHeaderRenderer()
TableColumn のヘッダーを描画するために使われる TableCellRenderer です。headerRenderernull の場合、JTableHeader はその defaultRenderer を使用します。headerRenderer のデフォルト値は null です。

戻り値:
headerRenderer プロパティー
関連項目:
setHeaderRenderer(javax.swing.table.TableCellRenderer), setHeaderValue(java.lang.Object), JTableHeader.getDefaultRenderer()

setCellRenderer

public void setCellRenderer(TableCellRenderer cellRenderer)
JTable がこの列の個々の値を描画するために使う TableCellRenderer を設定します。

パラメータ:
cellRenderer - 新しい cellRenderer
関連項目:
getCellRenderer()

getCellRenderer

public TableCellRenderer getCellRenderer()
JTable がこの列の個々の値を描画するために使う TableCellRenderer を返します。列の cellRenderer は、列の表示を制御するだけでなく、TableModel が供給する値オブジェクトを解釈するためにも使われます。cellRenderernull の場合、JTable はその列のセルクラスに基づいたデフォルトのレンダリングを使用します。cellRenderer のデフォルト値は null です。

戻り値:
cellRenderer プロパティー
関連項目:
setCellRenderer(javax.swing.table.TableCellRenderer), JTable.setDefaultRenderer(java.lang.Class, javax.swing.table.TableCellRenderer)

setCellEditor

public void setCellEditor(TableCellEditor cellEditor)
この列のセルを編集するときに使用できるようにエディタを設定します。

パラメータ:
cellEditor - 新規の cellEditor
関連項目:
getCellEditor()

getCellEditor

public TableCellEditor getCellEditor()
JTable がこの列の個々の値を編集するために使用する TableCellEditor を返します。cellEditornull の場合、JTable は列内のセルのクラスに基づいてデフォルトエディタを使用します。cellEditor のデフォルト値は null です。

戻り値:
cellEditor プロパティー
関連項目:
setCellEditor(javax.swing.table.TableCellEditor), JTable.setDefaultEditor(java.lang.Class, javax.swing.table.TableCellEditor)

setWidth

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

public void setPreferredWidth(int preferredWidth)
この列の適切な幅を preferredWidth に設定します。preferredWidth が幅の最小値または最大値を超える場合は、適切な制限値に調整されます。

preferredWidth から JTable (および JTableHeader) 内の列の幅を計算する方法については、JTabledoLayout メソッドを参照してください。

パラメータ:
preferredWidth - 新規に設定された適切な幅
関連項目:
getPreferredWidth(), JTable.doLayout()

getPreferredWidth

public int getPreferredWidth()
TableColumn の適切な幅を返します。デフォルトの適切な幅は 75 です。

戻り値:
preferredWidth プロパティー
関連項目:
setPreferredWidth(int)

setMinWidth

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

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

public void setResizable(boolean isResizable)
この列がサイズ変更できるかどうかを設定します。

パラメータ:
isResizable - サイズ変更できる場合は true、そうでない場合は false
関連項目:
getResizable()

getResizable

public boolean getResizable()
ユーザーが TableColumn の幅を変更できる場合に true を返します。そうでない場合は false を返します。この設定に関係なく、プログラムによって幅を変更できます。policy.allowSystemProperty プロパティーのデフォルト値は 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 をリスナーリストに追加します。リスナーは、すべてのプロパティーに対して登録されます。

現在のコンポーネントの setFontsetBackground、または setForeground への明示的な呼び出しに応じて、PropertyChangeEvent がトリガーされます。現在のコンポーネントがフォアグラウンド、バックグラウンド、またはフォントをコンテナから継承している場合、継承されたプロパティーが変更されても、それに反応してイベントがトリガーされることはありません。

パラメータ:
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 がセルレンダリングを提供するのと同様です。

戻り値:
デフォルトのヘッダーレンダリング
関連項目:
JTableHeader.createDefaultRenderer()

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。