Добавить конкретный атрибут экземпляра в JList - PullRequest
1 голос
/ 11 февраля 2012

Допустим, у нас есть следующий массив экземпляров объектов:

SomeClass[] items = {new SomeClass("Apples", 1.99f, 0.311f),
new SomeClass("Oranges", 0.99f, 0.396f),
new SomeClass("Bananas",2.99f,2.27f)};

Предположим, что конструктором является имя строки, цена с плавающей запятой, вес с плавающей запятой.

Итак, теперь я создаю JList и помещаю егов JScrollPane:

itemsList = new JList(items);
ScrollPane itemsListScrollPane = new JScrollPane(itemsList);

Есть ли способ переопределить то, что отображается на панели прокрутки, так что только атрибут имени отображается (и отбрасывает другие атрибуты) в нем, как это так, без переопределенияМетод toString () в классе SomeClass.

Apples
Oranges
Bananas

Надеюсь, это понятно, если у вас возникнут вопросы, я постараюсь прояснить.

Спасибо.

Редактировать: я просто хочу уточнить, есть ли способ использовать, например, метод, написанный для SomeClass, называемый getName (), который возвращает строковое значение атрибута name и позволяетJList отображает только то, что?

1 Ответ

3 голосов
/ 11 февраля 2012

Вы можете установить ListCellRenderer в JList, вы можете выбрать все, что вы хотите отрендерить. См. Также официальный документ о JList

...