Добавление полосы прокрутки в JList - PullRequest
6 голосов
/ 02 июня 2009

Я пытаюсь добавить полосу прокрутки в JList (который использует пользовательскую модель данных). Добавление JScrollPane фактически скрывает JList вместо добавления полосы прокрутки. Когда я запускаю код с полосой прокрутки, JList не виден, и я не могу видеть данные.

playlistField = new JList(playlist); // playlist is a data model
playlistField.setLocation(32, 220-36);
playlistField.setSize(350,120);
playlistField.setVisible(true);
this.add(playlistField);

listScrollPane = new JScrollPane(playlistField, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

Закомментирование строки listScrollPane = ... делает JList снова видимым и работает как положено.

Что я пропустил?

1 Ответ

6 голосов
/ 02 июня 2009

Вам необходимо добавить полосу прокрутки к контейнеру, а не к списку.

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

...