Spec-Zone.ru › OpenJDK 8

Интерфейс ListCellRenderer<E>

Параметры типа:
E - тип значений, для которых может использоваться этот рендерер
Все известные реализующие классы:
BasicComboBoxRenderer, BasicComboBoxRenderer.UIResource, DefaultListCellRenderer, DefaultListCellRenderer.UIResource, MetalFileChooserUI.FileRenderer, MetalFileChooserUI.FilterComboBoxRenderer

public interface ListCellRenderer<E>

Идентифицирует компоненты, которые могут использоваться как "штампы" для отрисовки ячеек в JList. Например, чтобы использовать JLabel как ListCellRenderer, напишите что-то вроде этого:

class MyCellRenderer extends JLabel implements ListCellRenderer<Object> {
     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<? extends E> list, E value, int index, boolean isSelected, boolean cellHasFocus)

Возвращает компонент, настроенный для отображения указанного значения.

Методы

getListCellRendererComponent

Component getListCellRendererComponent(JList<? extends E> list,
                                       E 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

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API