JTextArea in JTable und die optimale Zeilenhöhe

Status
Nicht offen für weitere Antworten.

Romsl

Mitglied
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

Editiert von P3AC3MAK3R: Tags repariert
 
R

Roar

Gast
setze einfach die größe der JTextArea:
textarea.setPreferredSize();
 

Romsl

Mitglied
Aber wenn ich bei der JTextArea die preferredSize verändere hat es keine Auswirkungen auf die JTable. Deswegen ändert die JTable ja nicht ihre Zeilenhöhe.

Oder lieg ich da verkehrt?

Gruß

Romsl
 
R

Roar

Gast
hast du es ausprobiert?
rate mal wie die JTable ihre masse berechnet.
ja, genau, vom den komponenten in ihr.
jetzt weisst du auch warum es zunem StackOverflowError oder OutOfMemoryError kommt wenn du direkt auf die Jtable zugreifen willst.
 

Romsl

Mitglied
Aber wie komme ich an die JTextArea die in einer bestimmten Spalte und in einer bestimmten Zeile liegt?
 
R

Roar

Gast
hä? du hast die JTextArea doch im renderer, oder was is das da!?
 

Romsl

Mitglied
Ich habe den Renderer genau wie oben beschrieben. Wenn ich in der Methode die Höhe der Tabelle setze habe ich die Schleife und wenn ich mit this.setPreferredSize(Dimension) die Größe setze passiert nichts.

Kannst du einen kurzen Codeausschnitt geben wie du das meinst?

Danke
 
R

Roar

Gast
von welcher klasse leitet der cellrenderer denn ab?? JtextArea? wenn nicht: dann kannst du doch gar keien JTextArea in deine JTable einfügen!? bzw. einfpgen schon aber sie wird nicht dargestellt...
 

Romsl

Mitglied
Argh...

Das könnte sein. Während dem Editieren habe ich keine JTextArea sondern ein JTextField. Aber wenn ich das Editieren mit Enter beende dann ersetzt mein Renderer das JTextField durch eine JTextArea.

Hast du mir einen Lösungsvorschlag wie ich in eine 5 spaltige Tabelle in der 4 Spalte eine JTextArea bekomme und den Rest mit JTextFields. Die Tabellenreihen sollten dynamisch erweiterbar sein und die Zeilenhöhe sollte sich an der Größe der JTextArea orientieren.

Danke
 
R

Roar

Gast
tja du müsstest dann wohl für die TableColumn mit den textareas einen eigenen renderer schreiben, der dann in der getComponent methode die größe der textarea setzt, per setPreferredSize(). normalerweise soltle sich die JTable daran orientieren und die zeilenhöhe der höhe der textarea anpassen.
 

Romsl

Mitglied
Ich habe einen eigenen Renderer geschrieben, siehe ganz oben. Habs auch mit dem setPreferredSize versucht. Auf der Tabelle auch den repaint() und validate() aufgerufen.

Aber nichts passiert. Vielleicht hab ich das immernoch nicht richtig verstanden.

Gruß

Romsl
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
G Swing JTable und JTextArea synchronisieren AWT, Swing, JavaFX & SWT 2
D JTable mit JTextArea AWT, Swing, JavaFX & SWT 3
N JTextArea in JTable AWT, Swing, JavaFX & SWT 2
S JTable in eine JTextArea? AWT, Swing, JavaFX & SWT 29
H JTextArea in JTable einbetten AWT, Swing, JavaFX & SWT 2
L In einer JTextArea eine JTable einfügen? AWT, Swing, JavaFX & SWT 12
J jTable + jTextarea & checkbox AWT, Swing, JavaFX & SWT 6
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
B JPanel-Inhalte inkl. JTextarea zoomen? AWT, Swing, JavaFX & SWT 3
P JTextarea (in JScrollPane) zeigt nur die beiden letzten Einträge an? AWT, Swing, JavaFX & SWT 0
RedEagle Swing JTextArea ist leer AWT, Swing, JavaFX & SWT 13
E Warum wird Text im JTextArea erst am Programmende angezeigt ? AWT, Swing, JavaFX & SWT 1
E wie in JScrollPane auf JTextArea zugreifen AWT, Swing, JavaFX & SWT 12
K Swing 2 JTextArea parrallel scrollable AWT, Swing, JavaFX & SWT 16
Hatsi09 JTextArea Inhalt verlinken AWT, Swing, JavaFX & SWT 4
ralfb1105 jTextArea Scrollbar hinzufügen - mit Jigloo erstellt AWT, Swing, JavaFX & SWT 7
S Ausgabe in JTextArea AWT, Swing, JavaFX & SWT 13
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
F 2D-Grafik JTextArea drucken bringt mieses Ergebnis AWT, Swing, JavaFX & SWT 2
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
Bluedaishi JTextArea gefundene Zeile nach Oben Scrollen AWT, Swing, JavaFX & SWT 13
S JTextArea Text nach oben wandern lassen AWT, Swing, JavaFX & SWT 7
Bluedaishi JtextArea AWT, Swing, JavaFX & SWT 6
V JScrollBar soll weiterscrollen, wenn Inhalt von JTextArea erweitert wird AWT, Swing, JavaFX & SWT 7
G JTextArea mit JScrollPane wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
Bluedaishi JDialog modal und JTextArea AWT, Swing, JavaFX & SWT 4
F JTextarea Steuern ~ consolenanbindung AWT, Swing, JavaFX & SWT 5
F Event Handling JTextArea auf bestimmte Eingabe reagieren (Return-Taste) AWT, Swing, JavaFX & SWT 2
F JTextArea hat keinen Rahmen AWT, Swing, JavaFX & SWT 10
N JTextArea Events weiterleiten AWT, Swing, JavaFX & SWT 3
R JTextArea mit verschiedenen Textfarben AWT, Swing, JavaFX & SWT 6
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
HoloYoitsu jTextArea.setCaretPosition(); What am I doing wrong? AWT, Swing, JavaFX & SWT 0
S Zeilenumbruch jTextArea mit toString AWT, Swing, JavaFX & SWT 2
F Swing String[] in JTextArea ausgeben. Jeder Eintrag in neue Zeile, aber ohne "\n"- Geht das? AWT, Swing, JavaFX & SWT 3
M JTextArea - Leertaste "sperren" AWT, Swing, JavaFX & SWT 1
S Inhalt der Java-Konsole in die JTextArea AWT, Swing, JavaFX & SWT 3
M Swing JTextArea mit ScrollBar AWT, Swing, JavaFX & SWT 9
S Swing Zahl der Zeilenumbrüche in einer JTextArea bestimmen AWT, Swing, JavaFX & SWT 1
F Swing Caret in JTextArea vergrößern AWT, Swing, JavaFX & SWT 2
D JTextArea auf KeyListener Command AWT, Swing, JavaFX & SWT 6
N JFrame änliches wie JTextArea? AWT, Swing, JavaFX & SWT 2
A Swing JTextArea - Multi-Line-Editing AWT, Swing, JavaFX & SWT 2
A Swing JTextArea aus anderer Klasse in realtime aktualisieren AWT, Swing, JavaFX & SWT 3
O JTextArea befüllen AWT, Swing, JavaFX & SWT 2
G JTextArea on the fly aus anderem Programm befüllen AWT, Swing, JavaFX & SWT 4
A Swing Einrücken mehrerer Zeilen per Tab in einem JTextPane/JTextArea AWT, Swing, JavaFX & SWT 3
T Swing Ausgabe aus ArrayList in Klasse1 in jTextArea in Klasse2 AWT, Swing, JavaFX & SWT 2
B JTextArea Größe an Container anpassen AWT, Swing, JavaFX & SWT 2
B Drucken der JTextArea AWT, Swing, JavaFX & SWT 4
M JTextArea Zeile hinzufügen AWT, Swing, JavaFX & SWT 4
C JTextArea scrollt bei append(String) aus Threads nicht ans Ende AWT, Swing, JavaFX & SWT 7
P JPanel- Listener durch JTextArea aktivieren AWT, Swing, JavaFX & SWT 8
A JTextArea - Zeichenbegrenzung nach .txt Datei import AWT, Swing, JavaFX & SWT 6
M Swing JScrollPane (Parent JTextArea) aktualisieren + neue Zeile AWT, Swing, JavaFX & SWT 5
Hoppelmann Swing Tasten in JTextArea blockieren AWT, Swing, JavaFX & SWT 2
S JTextArea Tastaturanschläge AWT, Swing, JavaFX & SWT 2
E Swing JTextArea in JFrame, wie nun WindowFocusListener implementieren? AWT, Swing, JavaFX & SWT 2
S Problem mit JButton und JTextArea AWT, Swing, JavaFX & SWT 2
J Swing Mitwachsende JTextArea+ JPanel AWT, Swing, JavaFX & SWT 4
P Swing JtextArea füllen mit setText AWT, Swing, JavaFX & SWT 7
M Probleme mit der Selektion einer JTextArea AWT, Swing, JavaFX & SWT 3
T Die Größe einer JTextArea an Ihren Parent JPanel anpassen. AWT, Swing, JavaFX & SWT 5
hdi Swing ListCellRenderer + JTextArea + LineWrap AWT, Swing, JavaFX & SWT 6
T ComponentOrientation in JTextArea AWT, Swing, JavaFX & SWT 3
H Hintergrundbild in jTextArea AWT, Swing, JavaFX & SWT 4
G Swing JTextArea mit fester Anzahl Spalten! AWT, Swing, JavaFX & SWT 10
G ein JTextArea in zwei JPanels AWT, Swing, JavaFX & SWT 2
L JTextArea mit JScrollPane AWT, Swing, JavaFX & SWT 7
padde479 Swing replace JTextArea funktioniert nicht AWT, Swing, JavaFX & SWT 2
L Zeilenumbrüche aus JTextArea MIT in Textdatei schreiben AWT, Swing, JavaFX & SWT 4
_dp jTextArea/jTextPanel Auto Höhe AWT, Swing, JavaFX & SWT 5
Ollek JTextArea - Feste Zeilenanzahl(8 Zeilen) AWT, Swing, JavaFX & SWT 3
S Swing JTextArea während der Laufzeit füllen AWT, Swing, JavaFX & SWT 5
Ollek Text in JTextField und JTextArea zur Laufzeit ändern AWT, Swing, JavaFX & SWT 6
P Datenelement anderer Klasse in JTextArea ausgeben AWT, Swing, JavaFX & SWT 4
P Scrollbar JTextArea AWT, Swing, JavaFX & SWT 23
M Swing Ausgabe in JTextArea verzögern AWT, Swing, JavaFX & SWT 7
T Swing jTextArea soll sich der Fenstergröße anpassen beim ziehen?? AWT, Swing, JavaFX & SWT 2
S System.out in JTextArea AWT, Swing, JavaFX & SWT 4
S Swing JTextArea - Bild auf/ab Tasten implementieren AWT, Swing, JavaFX & SWT 4
J JTextArea verschwindet bei resize vom JFrame AWT, Swing, JavaFX & SWT 2
VfL_Freak "setAccelerator/KeyStroke" bei JTextArea ? AWT, Swing, JavaFX & SWT 6
P Swing JTextArea - beim neuzeichnen bleibt manchmal weißer Kasten AWT, Swing, JavaFX & SWT 10
Dit_ JTextArea zu Zeile X scrollen AWT, Swing, JavaFX & SWT 4
B Wechsel JTextArea und JComponent AWT, Swing, JavaFX & SWT 9
M [erledigt] Bestimmte Zeile aus JTextArea löschen AWT, Swing, JavaFX & SWT 3
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
M JTextArea AWT, Swing, JavaFX & SWT 2
E Swing JTextArea Alternative? AWT, Swing, JavaFX & SWT 5
A Swing JTextArea über Frame hinaus anzeigen? AWT, Swing, JavaFX & SWT 2
S JInternalFrame oder JTextArea neu laden AWT, Swing, JavaFX & SWT 2
N JTextArea.setLineWrap Bug? AWT, Swing, JavaFX & SWT 3
G Swing JTextArea/JScrollpane: JScrollbar position AWT, Swing, JavaFX & SWT 8
I JTextArea mit Copy Paste Funktion AWT, Swing, JavaFX & SWT 7
M Swing JTextArea größe anpassen & setBackground liefer Nullpointer AWT, Swing, JavaFX & SWT 4
Plastagen JTextArea CaretPosition Aktualisierung AWT, Swing, JavaFX & SWT 10
C JTextField und JTextArea - Verständnisproblem AWT, Swing, JavaFX & SWT 14
B Exceptions werfen und in JTextArea ausgeben AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen


Oben