Как стилизовать определенный элемент списка в lwuit?

Мне нужно требование, чтобы в списке некоторые элементы списка демонстрировали другой стиль, чем другие. Как это может быть достигнуто в lwuit?

Например,

        List menu = new List();
        menu.addItem("1. Green");
        menu.addItem("2. Red");
        menu.addItem("3. Blue");

В этом списке каждый элемент должен иметь стиль представления своего цвета (т. Е. Зеленый должен иметь зеленый фон, а красный - красный фон). Возможно ли это в LWUIT? Как мы можем достичь этого?

Заранее спасибо.

2 ответа

Решение

Вы должны создать средство визуализации ячеек для этого варианта использования. Просто выведите "DefaultListCellRenderer", например:

DefaultListCellRenderer rend = new DefaultListCellRenderer() {
     public Component getCellRendererComponent(Component list, Object model, Object value, int index, boolean isSelected) {
           Component c = super.getCellRendererComponent(...);
           c.getStyle().setBgTransparency(255);
           c.getStyle().setBgColor(theColorYouWant);
           return c;
     }
};

Затем установите этот рендерер в список. Вам, вероятно, понадобятся некоторые дополнительные уточнения, поскольку это ПУСТОЙ упрощенный пример рендерера.

Это один из способов сделать это. 1. Создайте компонент для каждого элемента в списке. 2. Добавьте цвет bg и текст. 3. По завершении добавьте его в форму или любой другой созданный вами компонент Custon.

Другой способ: вы можете создать свой собственный рендерер List. Вот некоторая информация о том, как вы можете это сделать

Другие вопросы по тегам