Я использую JList, чтобы обернуть текст переменной, доступный только для чтения, отображаемый пользователю. Каждая строка текста отображается в ячейке списка на основе JTextArea, т.е.Линия Wrap не работает внутри ячеек JList
public class InfoTextCellRenderer extends JTextArea implements ListCellRenderer
и это средство визуализации используется список:
textList.setCellRenderer(new InfoTextCellRenderer());
Компонент JList встроен в JScrollPane.
Я делаю все это, потому что типичный шаблон использования здесь заключается в использовании клавиш со стрелками, а не мыши. Это позволяет выделить текущую ячейку, что делает очевидным для пользователя то, что происходит. Предыдущая реализация с использованием одного JTextArea требовала от пользователя нажимать стрелку вниз несколько раз, пока невидимая каретка (невидимая, потому что она не редактировалась) достигла точки, в которой может прокручиваться (снизу или сверху окна).
Проблема в том, что даже если InfoTextCellRenderer завершает перенос строк и перенос слов, когда текст отображается, обертка не происходит.
public class InfoTextCellRenderer extends JTextArea implements ListCellRenderer {
public InfoTextCellRenderer() {
this.setFocusable(false);
}
/* (non-Javadoc)
* @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
*/
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
setEditable(false);
setFont(list.getFont());
this.setLineWrap(true);
this.setWrapStyleWord(true);
setText(value == null ? "" : value.toString());
return this;
}
}
Что может помешать переворачиванию линии?
возможно дубликат [Качели JList с многострочным текстом и динамической высоты] (Http: // stackoverflow.com/questions/7306295/swing-jlist-with-multiline-text-and-dynamic-height) – Aboutblank