モジュール java.desktop
パッケージ 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を参照してください。

    関連項目:
    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の描画機構によって内部的に使用されていません; 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コンストラクタはこれに処理を委譲します。
    • フィールドの詳細

      • 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を使用するカバー・メソッドです。
        パラメータ:
        modelIndex - テーブル内のこの列のデータを提供するモデル内の列のインデックス。ビュー内の列の順序が変更されても、モデル・インデックスは変更されない
        関連項目:
        TableColumn(int, int, TableCellRenderer, TableCellEditor)
      • TableColumn

        public TableColumn​(int modelIndex,
                           int width)
        レンダラにnull、およびエディタにnullを使用するカバー・メソッドです。
        パラメータ:
        modelIndex - テーブル内のこの列のデータを提供するモデル内の列のインデックス。ビュー内の列の順序が変更されても、モデル・インデックスは変更されない
        width - この列の適切な幅および初期幅
        関連項目:
        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

        @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()
      • getIdentifier

        public Object getIdentifier()
        この列のidentifierオブジェクトを返します。 注: 識別子はJTableによっては使用されず、純粋に外部用として提供されています。 identifiernullの場合、getIdentifier()はデフォルトとしてgetHeaderValueを返します。
        戻り値:
        identifierプロパティ
        関連項目:
        setIdentifier(java.lang.Object)
      • setHeaderValue

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

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

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

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

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

        @BeanProperty(description="The renderer to use for cell values.")
        public void setCellRenderer​(TableCellRenderer cellRenderer)
        JTableがこの列の個々の値を描画するために使うTableCellRendererを設定します。
        パラメータ:
        cellRenderer - 新しいcellRenderer
        関連項目:
        getCellRenderer()
      • setCellEditor

        @BeanProperty(description="The editor to use for cell values.")
        public void setCellEditor​(TableCellEditor cellEditor)
        この列のセルを編集するときに使用できるようにエディタを設定します。
        パラメータ:
        cellEditor - 新規のcellEditor
        関連項目:
        getCellEditor()
      • setWidth

        @BeanProperty(description="The width of the column.")
        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

        @BeanProperty(description="The preferred width of the column.")
        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

        @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(), setPreferredWidth(int), setMaxWidth(int)
      • setMaxWidth

        @BeanProperty(description="The maximum width of the column.")
        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

        @BeanProperty(description="Whether or not this column can be resized.")
        public void setResizable​(boolean isResizable)
        この列がサイズ変更できるかどうかを設定します。
        パラメータ:
        isResizable - サイズ変更できる場合はtrue、そうでない場合はfalse
        関連項目:
        getResizable()
      • getResizable

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