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 以降、すべての JavaBeansTM 用の長期間の格納サポートが 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 の一時的な「幅」のプロパティーは、適正幅に設定されます。このメソッドは、テーブルパッケージによって内部的に使われません。@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, 2013, Oracle and/or its affiliates. All rights reserved.