Hallo,
ich habe eine JTable, in den verschieden lange Strings dargestellt werden. Nun möchte ich, dass wenn ein String sehr lang ist der String in mehrere Zeilen umgebrochen wird, jedoch in einer „Tabellenfeld“ dargestellt wird. Ich habe darufhin ein wenig gesucht und habe dann folgende Idee gefunden und ausprogrammiert: einen TextCellRenderer der von einem JTextArea erbt. Das funktioniert teilweise auch ganz gut, leider wird nicht immer die höhe der Zelle korrekt angepasst, sprich es ist nur ein Teil meines Strings sichtbar. Hat jemand eine Idee woran das liegen könnte? Nachfolgende mein Code:
public class TextCellRenderer extends JTextArea implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object obj, boolean isSelected, boolean hasFocus, int row, int column)
{
this.setFont(new Font("Lucida", 0, 12));
setLineWrap(true);
setWrapStyleWord(true);
setText( (String) obj);
int wanted = (int) getPreferredSize().getHeight();
if (wanted \> table.getRowHeight(row)) {
table.setRowHeight(row, wanted);
}
return this;
}
}
Bin für alle Tips dankbar, habe inzwischen nämlich keine Idee mehr woran es liegen könnte…
Gruß,
Michi