JavaTM 2 Platform
Std. Ed. v1.3

javax.swing
インタフェース ListCellRenderer

既知の実装クラスの一覧:
DefaultListCellRenderer, BasicComboBoxRenderer

public interface ListCellRenderer

JList 内のセルをペイントする「ゴム印」として使用できるコンポーネントを識別します。たとえば、JLabel を ListCellRenderer として使用するには、次のように書きます。

 class MyCellRenderer extends JLabel implements ListCellRenderer {
     public MyCellRenderer() {
         setOpaque(true);
     }
     public Component getListCellRendererComponent(
         JList list,
         Object value,
         int index,
         boolean isSelected,
         boolean cellHasFocus)
     {
         setText(value.toString());
         setBackground(isSelected ? Color.red : Color.white);
         setForeground(isSelected ? Color.white : Color.black);
         return this;
     }
 }

関連項目:
JList, DefaultListCellRenderer

メソッドの概要
 Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
          指定の値を表示するように設定されたコンポーネントを返します。
 

メソッドの詳細

getListCellRendererComponent

public Component getListCellRendererComponent(JList list,
                                              Object value,
                                              int index,
                                              boolean isSelected,
                                              boolean cellHasFocus)
指定の値を表示するように設定されたコンポーネントを返します。次に、そのコンポーネントの paint メソッドが呼び出されて、セルを「描画」します。リストセルのサイズが固定されていないため、リストの寸法を計算する必要がある場合には、このメソッドが呼び出されて、getPreferredSize を呼び出せるコンポーネントを生成します。
パラメータ:
list - ペイントしている JList
value - list.getModel().getElementAt(index) によって返される値
index - セルのインデックス
isSelected - 指定のセルが選択された場合は true
cellHasFocus - 指定のセルにフォーカスがある場合は true
戻り値:
指定の値を描画する paint() メソッドがあるコンポーネント
関連項目:
JList, ListSelectionModel, ListModel

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.