отображение нескольких столбцов в JList - PullRequest
11 голосов
/ 13 марта 2011

Возможно ли отображение нескольких столбцов в JList ????

Ответы [ 3 ]

11 голосов
/ 13 марта 2011

Используйте JTable , который предназначен для этой цели.

11 голосов
/ 13 марта 2011

Чтобы сравнить два ответа от camickr и JasCav:

  • Если вам нужно несколько столбцов данных, которые каким-то образом связаны друг с другом (например, имя пользователя в первом столбце, значки этих столбцов для этих пользователей), JTable - это то, что нужно использовать.
  • Если вы просто хотите лучше использовать пространство экрана, заполняя несколько столбцов одними и теми же данными, используйте JList-оболочку, как описано в JasCav.

Вот упакованный JList объектов Icon:

wrapped JList

Вот JTable с иконками во втором ряду и специальным TableCellRenderer:

jTable

(оба из моего текущего проекта .)

10 голосов
/ 13 марта 2011

Абсолютно!Вы должны сделать вызов setLayoutOrientation, который указывает списку, как он должен обернуть свои данные перед переходом на новую строку.Вы можете использовать JList.HORIZONTAL_WRAP или JList.VERITCAL_WRAP.Это говорит о том, что данные должны отображаться как обычно (в виде списка), а затем переноситься, когда они достигают дна.

Если вы хотите объединить этот вызов с setVisibleRowCount (-1), вы можете затем отобразить столько элементоввозможно в свободном пространстве.

...