クラスDefaultTableColumnModel

java.lang.Object
javax.swing.table.DefaultTableColumnModel
すべての実装されたインタフェース:
PropertyChangeListener, Serializable, EventListener, ListSelectionListener, TableColumnModel

public class DefaultTableColumnModel extends Object implements TableColumnModel, PropertyChangeListener, ListSelectionListener, Serializable
JTableの標準の列ハンドラです。

警告: このクラスの直列化されたオブジェクトは、今後のSwingリリースと互換ではなくなる予定です。 現在の直列化のサポートは、短期間の格納や、同じバージョンのSwingを実行するアプリケーション間のRMIに適しています。 1.4では、すべてのJavaBeansの長期ストレージのサポートがjava.beansパッケージに追加されました。 XMLEncoderを参照してください。

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

    フィールド
    修飾子と型
    フィールド
    説明
    protected ChangeEvent
    変更イベントです(1つだけ必要)。
    protected int
    各列の間の幅マージンです。
    protected boolean
    この列モデルで許可される列の選択です。
    TableColumnModelListenerのリストです。
    列選択の履歴を記録するためのモデルです。
    protected Vector<TableColumn>
    このモデルのTableColumnオブジェクトの配列です。
    protected int
    すべての列の幅を組み合わせた合計のローカル・キャッシュです。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    デフォルトのテーブル列モデルを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    tableColumns配列の最後にaColumnを追加します。
    void
    テーブル列モデル・イベント用のリスナーを追加します。
    新規のリスト選択のデフォルト・モデルを作成します。
    protected void
    このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。
    protected void
    このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。
    protected void
    このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。
    protected void
    このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。
    protected void
    このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。
    getColumn(int columnIndex)
    columnIndexにある列のTableColumnオブジェクトを返します。
    int
    このtableColumns配列の列数を返します。
    int
    getColumnIndex(Object identifier)
    equalsを使って比較したときに識別子がidentifierと等しいtableColumns配列内の最初の列のインデックスを返します。
    int
    x位置にある列のインデックスを返します。このポイントが列の範囲外にある場合は -1を返します。
    int
    TableColumnの幅マージンを返します。
    このモデルに登録された、すべての列モデル・リスナーからなる配列を返します。
    モデルのすべての列のEnumerationを返します。
    boolean
    列の選択が許可されている場合はtrue、そうでない場合はfalseを返します。
    <T extends EventListener>
    T[]
    getListeners(Class<T> listenerType)
    このモデルにFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。
    int
    選択されている列の数を返します。
    int[]
    選択された列の配列を返します。
    列選択状態を維持するのに使用するListSelectionModelを返します。
    int
    すべての列の幅を組み合わせた合計を返します。
    void
    moveColumn(int columnIndex, int newIndex)
    columnIndexにある列およびヘッダーをnewIndexに移動します。
    void
    プロパティ変更リスナー変更メソッドです。
    protected void
    すべての列の幅を組み合わせた合計を再計算します。
    void
    tableColumns配列からcolumnを削除します。
    void
    テーブル列モデル・イベント用のリスナーを削除します。
    void
    setColumnMargin(int newMargin)
    列マージンをnewMarginに設定します。
    void
    列の選択が許可されているかどうかを設定します。
    void
    このTableColumnModelの選択モデルをnewModelに設定し、新しい選択モデルからのリスナー通知を受信するように登録します。
    void
    ListSelectionListenerは、列の選択が変更されると、ListSelectionEventsを転送します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • フィールド詳細

    • tableColumns

      protected Vector<TableColumn> tableColumns
      このモデルのTableColumnオブジェクトの配列です。
    • selectionModel

      protected ListSelectionModel selectionModel
      列選択の履歴を記録するためのモデルです。
    • columnMargin

      protected int columnMargin
      各列の間の幅マージンです。
    • listenerList

      protected EventListenerList listenerList
      TableColumnModelListenerのリストです。
    • changeEvent

      protected transient ChangeEvent changeEvent
      変更イベントです(1つだけ必要)。
    • columnSelectionAllowed

      protected boolean columnSelectionAllowed
      この列モデルで許可される列の選択です。
    • totalColumnWidth

      protected int totalColumnWidth
      すべての列の幅を組み合わせた合計のローカル・キャッシュです。
  • コンストラクタの詳細

    • DefaultTableColumnModel

      public DefaultTableColumnModel()
      デフォルトのテーブル列モデルを作成します。
  • メソッドの詳細

    • addColumn

      public void addColumn(TableColumn aColumn)
      tableColumns配列の最後にaColumnを追加します。 また、このメソッドはそのリスナーにcolumnAddedイベントを送ります。
      定義:
      addColumn、インタフェースTableColumnModel
      パラメータ:
      aColumn - 追加されるTableColumn
      スロー:
      IllegalArgumentException - aColumnnullである場合
      関連項目:
    • removeColumn

      public void removeColumn(TableColumn column)
      tableColumns配列からcolumnを削除します。 columnがテーブルの列リストにない場合、このメソッドは何も行いません。ヘッダーとテーブルの両方のビューをサイズ変更するためにtileが呼び出されます。 また、このメソッドはそのリスナーにcolumnRemovedイベントを送ります。
      定義:
      removeColumn、インタフェースTableColumnModel
      パラメータ:
      column - 削除するTableColumn
      関連項目:
    • moveColumn

      public void moveColumn(int columnIndex, int newIndex)
      columnIndexにある列およびヘッダーをnewIndexに移動します。 移動前にcolumnIndexにあった列はnewIndexに置かれます。 この場所を作るため、これまでnewIndexにあった列は、左または右に移動します。 columnIndexnewIndexが同じ場合、列は移動しません。 また、このメソッドはそのリスナーにcolumnMovedイベントを送ります。
      定義:
      moveColumn、インタフェースTableColumnModel
      パラメータ:
      columnIndex - 移動する列のインデックス
      newIndex - 列を移動する新規インデックス
      スロー:
      IllegalArgumentException - columnまたはnewIndexが有効な範囲にない場合
    • setColumnMargin

      public void setColumnMargin(int newMargin)
      列マージンをnewMarginに設定します。 また、このメソッドはそのリスナーにcolumnMarginChangedイベントを送ります。
      定義:
      setColumnMargin、インタフェースTableColumnModel
      パラメータ:
      newMargin - ピクセル単位の新規のマージン幅
      関連項目:
    • getColumnCount

      public int getColumnCount()
      このtableColumns配列の列数を返します。
      定義:
      getColumnCount、インタフェースTableColumnModel
      戻り値:
      このtableColumns配列の列数
      関連項目:
    • getColumns

      public Enumeration<TableColumn> getColumns()
      モデルのすべての列のEnumerationを返します。
      定義:
      getColumns、インタフェースTableColumnModel
      戻り値:
      モデルの列のEnumeration
    • getColumnIndex

      public int getColumnIndex(Object identifier)
      equalsを使って比較したときに識別子がidentifierと等しいtableColumns配列内の最初の列のインデックスを返します。
      定義:
      getColumnIndex、インタフェースTableColumnModel
      パラメータ:
      identifier - 識別子オブジェクト
      戻り値:
      識別子がidentifierと等しいtableColumns配列内の最初の列のインデックス
      スロー:
      IllegalArgumentException - identifiernullの場合、またはこのidentifierを持っているTableColumnがない場合
      関連項目:
    • getColumn

      public TableColumn getColumn(int columnIndex)
      columnIndexにある列のTableColumnオブジェクトを返します。
      定義:
      getColumn、インタフェースTableColumnModel
      パラメータ:
      columnIndex - 要求する列のインデックス
      戻り値:
      columnIndexにある列のTableColumnオブジェクト
      スロー:
      ArrayIndexOutOfBoundsException - columnIndexが範囲外の場合: (columnIndex < 0 || columnIndex >= getColumnCount())
    • getColumnMargin

      public int getColumnMargin()
      TableColumnの幅マージンを返します。 デフォルトのcolumnMarginは1です。
      定義:
      getColumnMargin、インタフェースTableColumnModel
      戻り値:
      TableColumnの最大幅
      関連項目:
    • getColumnIndexAtX

      public int getColumnIndexAtX(int x)
      x位置にある列のインデックスを返します。このポイントが列の範囲外にある場合は -1を返します。 Swingの分離可能なモデル・アーキテクチャに沿って、TableColumnModelはテーブル列が実際に画面上でどのように表示されるかを認識しません。 列の視覚的表現は、このモデル(通常はJTable)を使用するビューまたはコントローラ・オブジェクトによって決まります。 ビューとコントローラは、必ずしも左から右という順に列を表示する必要はありません。 たとえば、ロケール・プリファレンスに対応させるために右から左へ列を表示したり、ユーザーの要求に従って一部の列を隠したりといったことが可能です。 このモデルでは、画面上で列がどのように配置されるかがわからないため、指定されたxPositionは2Dグラフィックス空間の座標とはみなされません。 代わりに、そのモデルの最初の列から始まる幅とみなされます。 2D空間での指定されたX座標の列インデックスが必要な場合は、代わりにJTable.columnAtPointを使用できます。
      定義:
      getColumnIndexAtX、インタフェースTableColumnModel
      パラメータ:
      x - 対象の水平方向の位置
      戻り値:
      列のインデックス。列が見つからない場合は -1
      関連項目:
    • getTotalColumnWidth

      public int getTotalColumnWidth()
      すべての列の幅を組み合わせた合計を返します。
      定義:
      getTotalColumnWidth、インタフェースTableColumnModel
      戻り値:
      totalColumnWidthプロパティ
    • setSelectionModel

      public void setSelectionModel(ListSelectionModel newModel)
      このTableColumnModelの選択モデルをnewModelに設定し、新しい選択モデルからのリスナー通知を受信するように登録します。 newModelnullの場合、例外がスローされます。
      定義:
      setSelectionModel、インタフェースTableColumnModel
      パラメータ:
      newModel - 新しい選択モデル
      スロー:
      IllegalArgumentException - newModelnullである場合
      関連項目:
    • getSelectionModel

      public ListSelectionModel getSelectionModel()
      列選択状態を維持するのに使用するListSelectionModelを返します。
      定義:
      getSelectionModel、インタフェースTableColumnModel
      戻り値:
      列の選択状態を提供するオブジェクト。 または行の選択が許可されていない場合はnull
      関連項目:
    • setColumnSelectionAllowed

      public void setColumnSelectionAllowed(boolean flag)
      列の選択が許可されているかどうかを設定します。 デフォルトは、falseです。
      定義:
      setColumnSelectionAllowed、インタフェースTableColumnModel
      パラメータ:
      flag - 列の選択が許可されている場合はtrue、そうでない場合はfalse
      関連項目:
    • getColumnSelectionAllowed

      public boolean getColumnSelectionAllowed()
      列の選択が許可されている場合はtrue、そうでない場合はfalseを返します。 デフォルトは、falseです。
      定義:
      getColumnSelectionAllowed、インタフェースTableColumnModel
      戻り値:
      columnSelectionAllowedプロパティ
      関連項目:
    • getSelectedColumns

      public int[] getSelectedColumns()
      選択された列の配列を返します。 selectionModelnullの場合、空の配列が返されます。
      定義:
      getSelectedColumns、インタフェースTableColumnModel
      戻り値:
      選択された列の配列。何も選択されていないか、selectionModelnullの場合は空の配列
    • getSelectedColumnCount

      public int getSelectedColumnCount()
      選択されている列の数を返します。
      定義:
      getSelectedColumnCount、インタフェースTableColumnModel
      戻り値:
      選択されている列の数
    • addColumnModelListener

      public void addColumnModelListener(TableColumnModelListener x)
      テーブル列モデル・イベント用のリスナーを追加します。
      定義:
      addColumnModelListener、インタフェースTableColumnModel
      パラメータ:
      x - TableColumnModelListenerオブジェクト
    • removeColumnModelListener

      public void removeColumnModelListener(TableColumnModelListener x)
      テーブル列モデル・イベント用のリスナーを削除します。
      定義:
      removeColumnModelListener、インタフェースTableColumnModel
      パラメータ:
      x - TableColumnModelListenerオブジェクト
    • getColumnModelListeners

      public TableColumnModelListener[] getColumnModelListeners()
      このモデルに登録された、すべての列モデル・リスナーからなる配列を返します。
      戻り値:
      このデフォルト・テーブル列モデルのすべてのColumnModelListener。列モデル・リスナーが現在登録されていない場合は空の配列
      導入されたバージョン:
      1.4
      関連項目:
    • fireColumnAdded

      protected void fireColumnAdded(TableColumnModelEvent e)
      このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。
      パラメータ:
      e - 受け取ったイベント
      関連項目:
    • fireColumnRemoved

      protected void fireColumnRemoved(TableColumnModelEvent e)
      このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。
      パラメータ:
      e - 受け取ったイベント
      関連項目:
    • fireColumnMoved

      protected void fireColumnMoved(TableColumnModelEvent e)
      このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。
      パラメータ:
      e - 受け取ったイベント
      関連項目:
    • fireColumnSelectionChanged

      protected void fireColumnSelectionChanged(ListSelectionEvent e)
      このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。
      パラメータ:
      e - 受け取ったイベント
      関連項目:
    • fireColumnMarginChanged

      protected void fireColumnMarginChanged()
      このイベント・タイプの通知対象として登録されているすべてのリスナーに通知します。 イベント・インスタンスは、fireメソッドに渡されるパラメータを使って簡単に生成されます。
      関連項目:
    • getListeners

      public <T extends EventListener> T[] getListeners(Class<T> listenerType)
      このモデルにFooListenerとして現在登録されているすべてのオブジェクトの配列を返します。 FooListenerは、addFooListenerメソッドを使用して登録されます。

      FooListener.classなどのクラス・リテラルを使用してlistenerType引数を指定できます。 たとえば、次のコードを使用して、その列モデル・リスナーのDefaultTableColumnModel mを照会できます。

      ColumnModelListener[] cmls = (ColumnModelListener[])(m.getListeners(ColumnModelListener.class));
      このようなリスナーがない場合は空の配列を返します。

      型パラメータ:
      T - リスナー型
      パラメータ:
      listenerType - リクエストされたリスナーの型
      戻り値:
      このモデルにFooListenerとして登録されているすべてのオブジェクトの配列。またはこのようなリスナーが登録されていない場合は空の配列
      スロー:
      ClassCastException - listenerTypeで、java.util.EventListenerを実装するクラスまたはインタフェースが指定されなかった場合
      導入されたバージョン:
      1.3
      関連項目:
    • propertyChange

      public void propertyChange(PropertyChangeEvent evt)
      プロパティ変更リスナー変更メソッドです。 指定された列幅または最適な列幅への変更を追跡する場合に使用します。
      定義:
      propertyChange、インタフェースPropertyChangeListener
      パラメータ:
      evt - PropertyChangeEvent
    • valueChanged

      public void valueChanged(ListSelectionEvent e)
      ListSelectionListenerは、列の選択が変更されると、ListSelectionEventsを転送します。
      定義:
      valueChanged、インタフェースListSelectionListener
      パラメータ:
      e - 変更イベント
    • createSelectionModel

      protected ListSelectionModel createSelectionModel()
      新規のリスト選択のデフォルト・モデルを作成します。
      戻り値:
      新しく作成されたデフォルトのリスト選択モデル。
    • recalcWidthCache

      protected void recalcWidthCache()
      すべての列の幅を組み合わせた合計を再計算します。 totalColumnWidthプロパティを更新します。