- 既知のすべての実装クラス:
DefaultTableCellRenderer
,DefaultTableCellRenderer.UIResource
public interface TableCellRenderer
このインタフェースは、
JTable
のセルのレンダラになる可能性のあるオブジェクトが要求するメソッドを定義します。-
メソッドのサマリー
修飾子と型メソッド説明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
- 描画するレンダラを照会するJTable
。null
も可value
- レンダリングされるセルの値。 値を解釈および描画する方法はレンダラによって異なる。value
が文字列trueの場合は、文字列としてレンダリングされるか、選択されたチェック・ボックスとしてレンダリングされる。null
も有効な値isSelected
- セルがハイライトで描画されている場合はtrue、そうでない場合はfalsehasFocus
- trueの場合、セルを適切に描画する。 たとえばセルが編集可能である場合は、セルに特別なボーダーを付け、編集を示す色で描画するrow
- 描画されるセルの行インデックス。 ヘッダーを描画する場合、row
の値は -1column
- 描画されるセルの列インデックス- 戻り値:
- セルを描画するために使用されるコンポーネント。
- 関連項目:
JComponent.isPaintingForPrint()
-