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