JavaTM Platform
Standard Ed. 6

javax.swing
インタフェース ListCellRenderer

既知の実装クラスの一覧:
BasicComboBoxRenderer, BasicComboBoxRenderer.UIResource, DefaultListCellRenderer, DefaultListCellRenderer.UIResource, MetalFileChooserUI.FileRenderer, MetalFileChooserUI.FilterComboBoxRenderer

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());

         Color background;
         Color foreground;

         // check if this cell represents the current DnD drop location
         JList.DropLocation dropLocation = list.getDropLocation();
         if (dropLocation != null
                 && !dropLocation.isInsert()
                 && dropLocation.getIndex() == index) {

             background = Color.BLUE;
             foreground = Color.WHITE;

         // check if this cell is selected
         } else if (isSelected) {
             background = Color.RED;
             foreground = Color.WHITE;

         // unselected, and not the DnD drop location
         } else {
             background = Color.WHITE;
             foreground = Color.BLACK;
         };

         setBackground(background);
         setForeground(foreground);

         return this;
     }
 }
 

関連項目:
JList, DefaultListCellRenderer

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

メソッドの詳細

getListCellRendererComponent

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 Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。