[BRAUCHE HILFE] JTextArea in JTable und die optimale Zeilenhöhe
Hi,
bin schon seit Tagen dran irgendeine Lösung zu finden, komme aber auf kein aktzeptables Resultat.
Wenn ich die Zeilenhöhe in dieser überschriebenen Methode setze dann habe ich eine Endlosschleife produziert. Suche auch schon vergeblich nach einem Listener oder ähnlichem.
Ich habe eine JTextArea in einem JTable Feld. Jetzt möchte ich, dass sich die Zeilenhöhe genau an diese JTextArea anpasst. Ich weiß aber nicht wo ich dies setzen kann ohne eine Endlosschleife zu bekommen, wie ich dies bemerke wann die Zeilenhöhe neu berechnet werden muss.
Bin wirklich dankbar über jede noch so kleine Hilfe.
Romsl
Hi,
bin schon seit Tagen dran irgendeine Lösung zu finden, komme aber auf kein aktzeptables Resultat.
Wenn ich die Zeilenhöhe in dieser überschriebenen Methode setze dann habe ich eine Endlosschleife produziert. Suche auch schon vergeblich nach einem Listener oder ähnlichem.
Ich habe eine JTextArea in einem JTable Feld. Jetzt möchte ich, dass sich die Zeilenhöhe genau an diese JTextArea anpasst. Ich weiß aber nicht wo ich dies setzen kann ohne eine Endlosschleife zu bekommen, wie ich dies bemerke wann die Zeilenhöhe neu berechnet werden muss.
Code:
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
if (isSelected) {
setForeground(table.getSelectionForeground());
setBackground(table.getSelectionBackground());
}
else {
setForeground(table.getForeground());
setBackground(table.getBackground());
}
setFont(table.getFont());
if (hasFocus) {
setBorder(UIManager.getBorder("Table.focusCellHighlightBorder"));
if (table.isCellEditable(row, column)) {
setForeground(UIManager.getColor("Table.focusCellForeground"));
setBackground(UIManager.getColor("Table.focusCellBackground"));
}
}
else {
setBorder(new EmptyBorder(1, 2, 1, 2));
}
setText((value == null) ? "" : value.toString());
String objString = (String)value;
if((objString.length() % 20) >= 1) {
table.setRowHeight(row, (int) (objString.length() / 20) * 15);
}
setText(objString);
//Wenn ich die Zeilenhöhe in dieser Methode setze habe ich eine Endlosschleife
System.out.println("*");
return this;
}
Bin wirklich dankbar über jede noch so kleine Hilfe.
Romsl
Zuletzt bearbeitet: