Java プラットフォーム 1.2

javax.swing.table
クラス TableColumn

java.lang.Object
  |
  +--javax.swing.table.TableColumn

public class TableColumn
extends Object
implements Serializable

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

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

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

警告: このクラスの直列化されたオブジェクトは、今後の Swing リリースと互換ではなくなる予定です。現在の直列化のサポートは、短期間の運用や、同じバージョンの Swing を実行するアプリケーション間の RMI に適しています。今後の Swing リリースでは、長期間の持続性をサポートする予定です。

関連項目:
TableColumnModel, DefaultTableColumnModel, JTable.getDefaultRenderer(Class), JTable.getDefaultEditor(Class), JTable.getCellRenderer(int, int), JTable.getCellEditor(int, int), 直列化された形式

フィールドの概要
static String CELL_RENDERER_PROPERTY
          バウンドプロパティ名です。
protected  TableCellEditor cellEditor
          列のデータセルを編集するために使われるエディタです。
protected  TableCellRenderer cellRenderer
          列のデータセルを描画するために使われるレンダリングです。
static String COLUMN_WIDTH_PROPERTY
          バウンドプロパティ名です。
static String HEADER_RENDERER_PROPERTY
          バウンドプロパティ名です。
static String HEADER_VALUE_PROPERTY
          バウンドプロパティ名です。
protected  TableCellRenderer headerRenderer
          列のヘッダを描画するために使われるレンダリングです。
protected  Object headerValue
          列のヘッダ値です。
protected  Object identifier
          このオブジェクトは、JTable の描画機構が内部で使うものではありません。
protected  boolean isResizable
          サイズ変更可能フラグです。
protected  int maxWidth
          列の最大の幅です。
protected  int minWidth
          列の最小の幅です。
protected  int modelIndex
          TableColumn が表示するモデルの列のインデックスです。
protected  int resizedPostingDisableCount
          サイズ変更が終わるまで、サイズ変更通知の送信を無効にするために使われるカウンタです。
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 のインスタンスを modelIndex で生成および初期化します。
 
メソッドの概要
 void addPropertyChangeListener(PropertyChangeListener listener)
          リスナーリストに PropertyChangeListener を追加します。
protected  TableCellRenderer createDefaultHeaderRenderer()
           
 void disableResizedPosting()
          列のサイズが変更されたときに発生するリスナーへの通知をオフにします。
 void enableResizedPosting()
          列のサイズが変更されたときに発生するリスナーへの通知をオンにします。
 TableCellEditor getCellEditor()
          JTable がこの列の値を描画するために使う TableCellEditor を返します。
 TableCellRenderer getCellRenderer()
          JTable がこの列の値を描画するために使う TableCellRenderer を返します。
 TableCellRenderer getHeaderRenderer()
          TableColumn のヘッダを描画するために使われる TableCellRenderer を返します。
 Object getHeaderValue()
          ヘッダレンダリングの値として使われる Object を返します。
 Object getIdentifier()
          この列の識別子オブジェクトを返します。
 int getMaxWidth()
          TableColumn の最大幅を返します。
 int getMinWidth()
          TableColumn の最小幅を返します。
 int getModelIndex()
          この列のモデルインデックスを取得します。
 int getPreferredWidth()
          TableColumn の適切な幅を返します。
 boolean getResizable()
          ユーザが TableColumn の幅を変更できる場合に true を返します。
 int getWidth()
          TableColumn の幅を返します。
 void removePropertyChangeListener(PropertyChangeListener listener)
          リスナーリストから PropertyChangeListener を削除します。
 void setCellEditor(TableCellEditor anEditor)
          JTable がこの列の各値を描画するために使う TableCellEditor を anEditor に設定します。
 void setCellRenderer(TableCellRenderer aRenderer)
          JTable がこの列の各値を描画するために使う TableCellRenderer を aRenderer に設定します。
 void setHeaderRenderer(TableCellRenderer aRenderer)
          TableColumn のヘッダを描画するために使われる TableCellRenderer を aRenderer に設定します。
 void setHeaderValue(Object aValue)
          headerRenderer の値として使われる Object を設定します。
 void setIdentifier(Object anIdentifier)
          TableColumn の識別子を anIdentifier に設定します。
 void setMaxWidth(int maxWidth)
          TableColumn の最大の幅を newMaxWidth に設定し、現在の幅がこの値より大きい場合は現在の幅を調整します。
 void setMinWidth(int minWidth)
          TableColumn の最小の幅を newMinWidth に設定し、現在の幅がこの値より小さい場合は現在の幅を調整します。
 void setModelIndex(int anIndex)
          この列のモデルインデックスを設定します。
 void setPreferredWidth(int preferredWidth)
          列の適切な幅を preferredWidth に設定します。
 void setResizable(boolean flag)
          ユーザが JTableView でレシーバのサイズを変更できるかどうかを設定します。
 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
バウンドプロパティ名です。

HEADER_VALUE_PROPERTY

public static final String HEADER_VALUE_PROPERTY
バウンドプロパティ名です。

HEADER_RENDERER_PROPERTY

public static final String HEADER_RENDERER_PROPERTY
バウンドプロパティ名です。

CELL_RENDERER_PROPERTY

public static final String CELL_RENDERER_PROPERTY
バウンドプロパティ名です。

modelIndex

protected int modelIndex
TableColumn が表示するモデルの列のインデックスです。ビュー内で列が移動しても、モデルのインデックスは変わりません。

identifier

protected Object identifier
このオブジェクトは、JTable の描画機構が内部で使うものではありません。識別子は、TableColumn にタグを付けたり、検索したりする 1 つの方法として、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
サイズ変更可能フラグです。

resizedPostingDisableCount

protected transient int resizedPostingDisableCount
サイズ変更が終わるまで、サイズ変更通知の送信を無効にするために使われるカウンタです。
コンストラクタの詳細

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 のインスタンスを modelIndex で生成および初期化します。modelIndex は、テーブルのこの列のデータを供給するモデルの列のインデックスです。modelIndex は、ビューの中で列が並べ変えられても変更されません。パラメータの width は、この列に対する preferredWidth と初期幅の両方を設定するために使用されます。レンダリングとエディタは、それぞれ列内の値を描画および編集するために使用されるオブジェクトです。これらが null の場合は、JTable の getDefaultRenderer(Class) メソッドおよび getDefaultEditor(Class) メソッドによってデフォルト値が提供されます。これらのメソッドは、列内の値の型に基づいてデフォルトを提供します。JTable の getCellRenderer() メソッドをオーバーライドすることで、列中心ではない描画方法を使用できます。

パラメータ:
modelIndex - この列の値を提供するモデルの列
関連項目:
JTable.getDefaultRenderer(Class), JTable.getDefaultEditor(Class), JTable.getCellRenderer(int, int), JTable.getCellEditor(int, int)
メソッドの詳細

setModelIndex

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

getModelIndex

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

setIdentifier

public void setIdentifier(Object anIdentifier)
TableColumn の識別子を anIdentifier に設定します。識別子は JTable によっては使われず、列の外部タグ付けおよび検索のためだけに使われます。
パラメータ:
anIdentifier - この列の識別子
関連項目:
getIdentifier()

getIdentifier

public Object getIdentifier()
この列の識別子オブジェクトを返します。識別子は JTable によっては使われず、外部的にだけ使われます。識別子が null の場合、getIdentifier() はデフォルトで getHeaderValue() を返します。
戻り値:
この列の識別子オブジェクト
関連項目:
setIdentifier(java.lang.Object)

setHeaderRenderer

public void setHeaderRenderer(TableCellRenderer aRenderer)
TableColumn のヘッダを描画するために使われる TableCellRenderer を aRenderer に設定します。バウンドプロパティ変更通知を HEADER_RENDERER_PROPERTY の名前で送ります。
パラメータ:
aRenderer - 新しいヘッダレンダリング
例外:
IllegalArgumentException - aRenderer が null の場合
関連項目:
getHeaderRenderer()

getHeaderRenderer

public TableCellRenderer getHeaderRenderer()
TableColumn のヘッダを描画するために使われる TableCellRenderer を返します。デフォルトのヘッダレンダリングは、JLabel で初期化された JCellRenderer です。
戻り値:
ヘッダを描画するために使われる TableCellRenderer
関連項目:
setHeaderRenderer(javax.swing.table.TableCellRenderer), setHeaderValue(java.lang.Object)

setHeaderValue

public void setHeaderValue(Object aValue)
headerRenderer の値として使われる Object を設定します。バウンドプロパティ変更通知を HEADER_VALUE_PROPERTY の名前で送ります。
パラメータ:
aValue - 新しいヘッダ値
関連項目:
getHeaderValue()

getHeaderValue

public Object getHeaderValue()
ヘッダレンダリングの値として使われる Object を返します。
戻り値:
ヘッダレンダリングの値として使われる Object
関連項目:
setHeaderValue(java.lang.Object)

setCellRenderer

public void setCellRenderer(TableCellRenderer aRenderer)
JTable がこの列の各値を描画するために使う TableCellRenderer を aRenderer に設定します。バウンドプロパティ変更通知を CELL_RENDERER_PROPERTY の名前で送ります。
パラメータ:
aRenderer - 新しいデータセルレンダリング
関連項目:
getCellRenderer()

getCellRenderer

public TableCellRenderer getCellRenderer()
JTable がこの列の値を描画するために使う TableCellRenderer を返します。列の cellRenderer は、列の表示を制御するだけでなく、TableModel が供給する値オブジェクトを解釈するためにも使われます。デフォルトの cellRenderer は、JLabel で初期化された JCellRenderer です。
戻り値:
JTable がこの列の値を描画するために使う TableCellRenderer
関連項目:
setCellRenderer(javax.swing.table.TableCellRenderer)

setCellEditor

public void setCellEditor(TableCellEditor anEditor)
JTable がこの列の各値を描画するために使う TableCellEditor を anEditor に設定します。null のエディタは、列が編集できないことを示します。
パラメータ:
anEditor - 新しいデータセルエディタ
関連項目:
getCellEditor()

getCellEditor

public TableCellEditor getCellEditor()
JTable がこの列の値を描画するために使う TableCellEditor を返します。列の cellEditor は、列の表示を制御するだけでなく、TableModel が供給する値オブジェクトを解釈するためにも使われます。デフォルトの cellEditor は null です。
戻り値:
JTable がこの列の値を描画するために使う TableCellEditor
関連項目:
setCellEditor(javax.swing.table.TableCellEditor)

setWidth

public void setWidth(int width)
このメソッドを使用して JTable の列の幅を設定してはなりません。代わりに setPreferredWidth() を使用します。AWT のレイアウトマネージャと同様に、テーブル自体がサイズを変更した場合や、列の適切な幅が変更された場合、JTable は必ず自動的に列の幅を調整します。したがって、プログラムの内部から幅を設定しても、効果は持続しません。

このメソッドは、この列の幅を width に設定します。width が最小または最大の幅を超える場合、適切な制限値に調整されます。バウンドプロパティ変更通知を COLUMN_WIDTH_PROPERTY の名前で送ります。

パラメータ:
width - 新しい幅値
関連項目:
getWidth(), setMinWidth(int), setMaxWidth(int), setPreferredWidth(int), JTable.sizeColumnsToFit(int)

getWidth

public int getWidth()
TableColumn の幅を返します。デフォルトの幅は 75 です。
戻り値:
TableColumn の幅
関連項目:
setWidth(int)

setPreferredWidth

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

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

パラメータ:
preferredWidth - 新しい、適切な幅
関連項目:
getPreferredWidth(), JTable.sizeColumnsToFit(int)

getPreferredWidth

public int getPreferredWidth()
TableColumn の適切な幅を返します。デフォルトでは、75 です。
戻り値:
TableColumn の幅
関連項目:
setPreferredWidth(int)

setMinWidth

public void setMinWidth(int minWidth)
TableColumn の最小の幅を newMinWidth に設定し、現在の幅がこの値より小さい場合は現在の幅を調整します。
パラメータ:
newMinWidth - 新しい最小の幅値
関連項目:
getMinWidth(), setPreferredWidth(int), setMaxWidth(int)

getMinWidth

public int getMinWidth()
TableColumn の最小幅を返します。TableColumn の幅は、ユーザによっても、プログラムによっても、この値より小さくできません。デフォルトの minWidth は 15 です。
戻り値:
TableColumn の最小幅
関連項目:
setMinWidth(int)

setMaxWidth

public void setMaxWidth(int maxWidth)
TableColumn の最大の幅を newMaxWidth に設定し、現在の幅がこの値より大きい場合は現在の幅を調整します。
パラメータ:
newMaxWidth - 新しい最大の幅値
関連項目:
getMaxWidth(), setPreferredWidth(int), setMinWidth(int)

getMaxWidth

public int getMaxWidth()
TableColumn の最大幅を返します。TableColumn の幅は、ユーザによっても、プログラムによっても、この値より大きくできません。デフォルトの maxWidth は 2000 です。
戻り値:
TableColumn の最大幅
関連項目:
setMaxWidth(int)

setResizable

public void setResizable(boolean flag)
ユーザが JTableView でレシーバのサイズを変更できるかどうかを設定します。
パラメータ:
flag - 列が isResizable の場合は true
関連項目:
getResizable()

getResizable

public boolean getResizable()
ユーザが TableColumn の幅を変更できる場合に true を返します。そうでない場合は false を返します。この設定に関係なく、プログラムによって幅を変更できます。デフォルトは true です。
戻り値:
ユーザが TableColumn の幅を変更できる場合は true、そうでない場合は false
関連項目:
setResizable(boolean)

sizeWidthToFit

public void sizeWidthToFit()
ヘッダセルの幅に合わせて TableColumn のサイズを変更します。最大幅がヘッダの幅より小さい場合、最大幅はヘッダの幅に合わせて増やされます。同じように、最小幅がヘッダの幅より大きい場合、最小幅はヘッダの幅に合わせて減らされます。
関連項目:
setPreferredWidth(int)

disableResizedPosting

public void disableResizedPosting()
列のサイズが変更されたときに発生するリスナーへの通知をオフにします。

enableResizedPosting

public void enableResizedPosting()
列のサイズが変更されたときに発生するリスナーへの通知をオンにします。

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
リスナーリストに PropertyChangeListener を追加します。リスナーは、すべてのプロパティで登録されます。

PropertyChangeEvent は、現在のコンポーネントの上で明示的な setFont、setBackground、または SetForeground に応じてトリガーされます。現在のコンポーネントがそのコンテナからフォアグラウンド、バックグラウンド、またはフォントを継承する場合、inherited プロパティの変更に応じてイベントがトリガーされることはないことに注意してください。

パラメータ:
listener - 追加される PropertyChangeListener

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
リスナーリストから PropertyChangeListener を削除します。すべてのプロパティで登録された PropertyChangeListener が削除されます。
パラメータ:
listener - 削除される PropertyChangeListener

createDefaultHeaderRenderer

protected TableCellRenderer createDefaultHeaderRenderer()

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.