Выравнивание текста JList - PullRequest
       27

Выравнивание текста JList

5 голосов
/ 12 февраля 2012

У меня есть JList с элементами, которые я хочу показать два значения.Есть ли способ, чтобы оно показывало имя строки, а затем выровняло правильную строку, чтобы показать значение.Выглядит примерно так:

Title__________________120
Title2_________________135

Можно ли передать элементу две строки и отобразить первую строку слева, а вторую справа?

1 Ответ

6 голосов
/ 12 февраля 2012

Конечно, реализовать пользовательский рендер . Вы можете вернуть JPanel с BorderLayout в качестве компонента рендеринга, с текстом LHS в WEST и текстом RHS в EAST.

Другой способ - вставить HTML в средство визуализации по умолчанию (JLabel), используя таблицу HTML, которая растягивается на 100% ширины. Хотя пользовательский рендерер будет лучшим выбором по ряду причин (например, не предполагая, что тип рендерера по умолчанию является меткой).


Кстати - возможно, вам следует рассмотреть возможность использования JTable для такого рода функций. Нет необходимости в хаке или пользовательских классах.


.. позволяет ли jtable выбирать элементы?

Конечно! Вот пример, взятый непосредственно из Как использовать таблицы в руководстве. «Джейн» выбрана.

Table with row selected

Настроить и настроить стол немного сложнее, но оно того стоит.

Будет ли JTable работать как JList.

Нет, таблица в конечном итоге предоставляет больше функциональных возможностей. Но то, что он делает, что также может делать список, работает (для пользователя) почти так же.

...