Erweitern Sie JList Zeilen-Höhe je nach Inhalt

Ich habe ein einfaches problem, das völlig macht mich verrückt.

Habe ich eine JList und möchte seine Zellen zu erweitern, je nach Ihrem Inhalt, der text von variabler Länge.

So habe ich eine CustomCellRenderer etwa so:

@Override
public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean hasFocus)
{
    final String text = (String) value;

    final JTextArea ta = new JTextArea();
    ta.setText(text);
    ta.setFont(new Font("Dialog", Font.PLAIN, (int) Theme.FONTSIZE_TEXT));
    ta.setForeground(Theme.FONTCOLOR_CONTENT);
    ta.setLineWrap(true);
    ta.setWrapStyleWord(true);
    ta.setColumns(0);
    ta.setBorder(BorderFactory.createEmptyBorder(10, Theme.PADDING, 0, 0));
    return ta;
}

aber die Zellen sind nur eine Textzeile hoch und den rest der JTextArea ist abgeschnitten. Wenn ich

ta.setPreferredSize(new Dimension(0, 70));

Bekomme ich eine Zeile Höhe von 70, und ich kann sehen Sie mehr von der JTextArea text, aber noch nicht alles.

Gibt es eine Möglichkeit, um JList erweitern Sie Ihre Zellen, so dass der gesamte Inhalt der JTextArea angezeigt wird?

  • Ein sscce kann klären das problem.
InformationsquelleAutor haferblues | 2011-08-01
Schreibe einen Kommentar