モジュール java.desktop
パッケージ 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に適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final String
    Java 2プラットフォームv1.3では使用しません。
    protected TableCellEditor
    列のデータ・セルを編集するために使われるエディタです。
    列のデータ・セルを描画するために使われるレンダラです。
    static final String
    Java 2プラットフォームv1.3では使用しません。
    static final String
    Java 2プラットフォームv1.3では使用しません。
    static final String
    Java 2プラットフォームv1.3では使用しません。
    列のヘッダーを描画するために使われるレンダラです。
    protected Object
    列のヘッダー値です。
    protected Object
    このオブジェクトは、JTableの描画機構によって内部的に使用されていません; TableColumnに表列をタグ付けして配置するためのオプションとして識別子を設定することができます。
    protected boolean
    ユーザーが列のサイズを変更できる場合はtrueです。デフォルトはtrueです。
    protected int
    列の最大の幅です。
    protected int
    列の最小の幅です。
    protected int
    TableColumnが表示するモデルの列のインデックスです。
    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を追加します。
    Java 2プラットフォームv1.3では、TableColumnコンストラクタはこのメソッドを呼び出しません。
    void
    非推奨。
    Java 2プラットフォームv1.3。
    void
    非推奨。
    Java 2プラットフォームv1.3。
    JTableがこの列の個々の値を編集するために使用するTableCellEditorを返します。
    JTableがこの列の個々の値を描画するために使用するTableCellRendererを返します。
    TableColumnのヘッダーを描画するために使われるTableCellRendererを返します。
    ヘッダー・レンダラの値として使われるObjectを返します。
    この列のidentifierオブジェクトを返します。
    int
    TableColumnの最大幅を返します。
    int
    TableColumnの最小幅を返します。
    int
    この列のモデル・インデックスを返します。
    int
    TableColumnの適切な幅を返します。
    addPropertyChangeListener()を使用してこのTableColumnに追加されているすべてのPropertyChangeListenerの配列を返します。
    boolean
    ユーザーがTableColumnの幅を変更できる場合にtrueを返します。そうでない場合はfalseを返します。
    int
    TableColumnの幅を返します。
    void
    PropertyChangeListenerをリスナー・リストから削除します。
    void
    この列のセルを編集するときに使用できるようにエディタを設定します。
    void
    JTableがこの列の個々の値を描画するために使うTableCellRendererを設定します。
    void
    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
    ヘッダー・セルの幅に合うように、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

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

      パラメータ:
      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によっては使用されず、純粋に外部用として提供されています。 identifiernullの場合、getIdentifier()はデフォルトとしてgetHeaderValueを返します。
      戻り値:
      identifierプロパティ
      関連項目:
    • setHeaderValue

      @BeanProperty(description="The text to be used by the header renderer.") public void setHeaderValue(Object headerValue)
      文字列表現がheaderRendererの値として使用されるObjectを設定します。 TableColumnが生成されるときのデフォルトheaderValuenullです。
      パラメータ:
      headerValue - 新規のheaderValue
      関連項目:
    • getHeaderValue

      public Object getHeaderValue()
      ヘッダー・レンダラの値として使われるObjectを返します。
      戻り値:
      headerValueプロパティ
      関連項目:
    • setHeaderRenderer

      @BeanProperty(description="The header renderer.") public void setHeaderRenderer(TableCellRenderer headerRenderer)
      TableColumnのヘッダーを描画するために使用されるTableCellRendererを、headerRendererに設定します。

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

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

      public TableCellRenderer getHeaderRenderer()
      TableColumnのヘッダーを描画するために使われるTableCellRendererを返します。 headerRenderernullの場合、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が供給する値オブジェクトを解釈するためにも使われます。 cellRenderernullの場合、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を返します。 cellEditornullの場合、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)内の列の幅を計算する方法については、JTabledoLayoutメソッドを参照してください。

      パラメータ:
      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を追加します。 このリスナーは、次のような、このクラスのすべてのバウンド・プロパティに登録されます。
      • このTableColumnの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がセル・レンダラを提供するのと同様です。
      戻り値:
      デフォルトのヘッダー・レンダラ
      関連項目: