モジュール java.desktop
パッケージ javax.swing.table

インタフェースTableCellRenderer

既知のすべての実装クラス:
DefaultTableCellRenderer, DefaultTableCellRenderer.UIResource

public interface TableCellRenderer
このインタフェースは、JTableのセルのレンダラになる可能性のあるオブジェクトが要求するメソッドを定義します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    Component getTableCellRendererComponent​(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
    セルを描画するのに使用されるコンポーネントを返します。
  • メソッドの詳細

    • getTableCellRendererComponent

      Component getTableCellRendererComponent​(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
      セルを描画するのに使用されるコンポーネントを返します。 描画する前に、このメソッドを使ってレンダラを適切に構成します。

      テーブルの現在のドラッグ&ドロップ位置を示すセルがあれば、TableCellRendererもこのセルを描画するために使用されます。 このレンダラがドラッグ&ドロップ位置の描画を考慮する場合、テーブルを直接照会して、指定の行および列がドロップ位置を表しているかどうかを確認することになっています。

           JTable.DropLocation dropLocation = table.getDropLocation();
           if (dropLocation != null
                   && !dropLocation.isInsertRow()
                   && !dropLocation.isInsertColumn()
                   && dropLocation.getRow() == row
                   && dropLocation.getColumn() == column) {
      
               // this cell represents the current drop location
               // so render it specially, perhaps with a different color
           }
       

      印刷操作中は、印刷結果に選択範囲やフォーカスが表示されるのを防ぐため、isSelectedおよびhasFocusの値をfalseにしてこのメソッドを呼び出します。 テーブルを印刷するかどうかに基づいてその他のカスタマイズを行うには、JComponent.isPaintingForPrint()の戻り値を確認します。

      パラメータ:
      table - 描画するレンダラを照会するJTablenullも可
      value - レンダリングされるセルの値。 値を解釈および描画する方法はレンダラによって異なる。 valueが文字列trueの場合は、文字列としてレンダリングされるか、選択されたチェック・ボックスとしてレンダリングされる。nullも有効な値
      isSelected - セルがハイライトで描画されている場合はtrue、そうでない場合はfalse
      hasFocus - trueの場合、セルを適切に描画する。 たとえばセルが編集可能である場合は、セルに特別なボーダーを付け、編集を示す色で描画する
      row - 描画されるセルの行インデックス。 ヘッダーを描画する場合、rowの値は -1
      column - 描画されるセルの列インデックス
      戻り値:
      セルを描画するために使用されるコンポーネント。
      関連項目:
      JComponent.isPaintingForPrint()