Элемент JList:изменение вертикального выравнивания

StackOverflow https://stackoverflow.com/questions/1763619

  •  21-09-2019
  •  | 
  •  

Вопрос

Мое приложение использует JList для отображения числовых значений.

Вот дисплей по умолчанию:

+-----------------+
|value 1          |
|value 2          |
|value 3          |
|                 |
|                 |
|                 |
|                 |
+-----------------+

Я хотел бы изменить вертикальное выравнивание, чтобы значения отображались в правом нижнем углу кадра, например:

+-----------------+
|                 |
|                 |
|                 |
|                 |
|          value 1|
|          value 2|
|          value 3|
+-----------------+

Если добавлен новый элемент, он должен отображаться внизу:

+-----------------+
|                 |
|                 |
|                 |
|          value 1|
|          value 2|
|          value 3|
|          value 4|
+-----------------+

Список находится внутри JScrollPane, чтобы ограничить количество отображаемых элементов.

Это выполнимо?Или мне придется использовать другой компонент?

Это было полезно?

Решение

В качестве хака вы можете поиграть с границей JList.Когда список пуст, вы устанавливаете размер границы так, чтобы он занимал все пространство списка.Когда вы добавляете строку, вы уменьшаете вставки Border.top на размер строки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top