TableCellRenderer Problem

Status
Nicht offen für weitere Antworten.

Tux

Aktives Mitglied
Hallo!

Ich habe ein kleines Problem und hoffe es kann mir jemand weiterhelfen! Ich habe ein Programm, das eine Tabelle anzeigt. Da in einigen Zellen mehrzeilig was drin steht, wollte ich die Zeilenhöhe an den benötigten Platz anpassen. Das klappt auch. Nur habe ich festgestellt, dass der CellRenderer jetzt sehr oft aufgerufen wird (nach ca 30sek bei mehreren Tausend Aufrufen) und sobald ein anderes Fenster darüber liegt, meine grafische Oberfläche nicht mehr richtig aufgebaut wird. Ich hab das Problem an einer Zeile festgemacht, weiß jedoch nicht so ganz wie ich es lösen kann. Hier mal der Code-Schnipsel zum CellRenderer:

Code:
class MultiLineCellRenderer
    extends JTextArea
    implements TableCellRenderer {

  public Component getTableCellRendererComponent(JTable table, Object value,
                                                 boolean isSelected,
                                                 boolean hasFocus, int row,
                                                 int column) {

    setWrapStyleWord(true);
    setLineWrap(true);
    setText(value.toString());
   table.setRowHeight(row, this.getMinimumSize().height);  // Hier liegt anscheinend das Problem
    FService.INSTANCE.zaehler = FService.INSTANCE.zaehler + 1;
    System.out.println(FService.INSTANCE.zaehler);
    return this;
  }
}

Schon mal Danke für die Hilfe!

Gruß
Stefan
 
B

Beni

Gast
Jedesmal wenn du setRowHeight aufrufst, wird die Tabelle wohl neu gezeichnet...

Versuch mal eine Abfrage zu machen: zuerst untersuchst du die ganze Reihe, und suchst die maximale Hoehe (wenn ein Cellrenderer die Hoehe raufsetzt, und der andere runter, kommt auch nix gutes raus...)

Dann ueberpruefst du die aktuelle Hoehe der Zeile, und nur wenn sie nicht der gewollten Hoehe entsprichst, rufst du setRowHeight auf.
 

Tux

Aktives Mitglied
Hi!

Hab ich ausprobiert, aber keine Besserung. Ich benutze jetzt eine Minitabelle mit einer Zeile und 3 Spalten. Den CellRenderer hab ich jetzt mal versuchsweise als DefaultRenderer eingebaut mit:

Code:
jTable1.setDefaultRenderer(Object.class, new MultiLineCellRenderer);

Und hier mal mein neuer Renderer:

Code:
 public Component getTableCellRendererComponent(JTable table, Object value,
                                                 boolean isSelected,
                                                 boolean hasFocus, int row,
                                                 int column) {

    System.out.println("Spalte: " + column +" Zeile: " + row);

    setText(value.toString());
    return this;
  }

Was ich dabei feststellen mußte ist, das dabei der CellRenderer allein schon 8x ausgeführt wird! Ist das so normal? Ich dachte nämlich, dass bei 3 Zellen nur dreimal der Renderer aufgerufen würde....

Gruß
Stefan
 

Tux

Aktives Mitglied
Hi!

Also wie ich mein Problem sehe, klappt das mit der Höhe nicht. Meine Frage ist, wie kann ich denn die optimale Höhe bestimmen? Auf die Komponente, die der CellRenderer zurückgibt kann man ja nicht zugreifen....

Gruß
Stefan
 

Tux

Aktives Mitglied
Hallo nochmal!

Ich hab jetz ehrlich gesagt keine Ideen mehr, wie ich den CellRenderer einbinden soll. Hab immer das selbe Problem! :( Kann mir jemand nen Hinweis geben oder hat jemand nen Link zu nem Tutorial, wie man in einer Tabelle mehrzeilige Zellen anlegt? Danke schonmal für die Hilfe, werde zwar weiter probieren, hab aber im Moment wenig Hoffnung :(


Gruß
Stefan
 

Tux

Aktives Mitglied
Hallo!

Also ich weiss jetzt was das Problem ist! Da es anscheinend mehrere Leute nicht geschafft haben, per CellRenderer mehrzeilige Zellen zu realisieren. Und zwar kann man nicht setRowHeight nutzen, da dieser Befehl einen Neuaufbau der Tabelle bewirkt und somit wieder den CellRenderer aufruft => Endlosschleife... Wie ich es nun löse weiss ich leider noch nicht :bae:


Gruß
Stefan
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
U TableCellRenderer: Problem mit Timestamp/Date AWT, Swing, JavaFX & SWT 2
C Swing Problem mit TableCellRenderer in Verbindung mit TableRowSorter AWT, Swing, JavaFX & SWT 2
I Problem mit TableCellRenderer AWT, Swing, JavaFX & SWT 3
K TableCellRenderer Problem AWT, Swing, JavaFX & SWT 3
D TableCellRenderer PRoblem AWT, Swing, JavaFX & SWT 3
B TableCellRenderer rendert Integer/Boolean Felder nicht AWT, Swing, JavaFX & SWT 4
M Swing TableCellRenderer elegant anpassen AWT, Swing, JavaFX & SWT 3
D Swing Mit TableCellRenderer einzelne Zellen markieren AWT, Swing, JavaFX & SWT 3
O Swing TableCellRenderer und JComboBox AWT, Swing, JavaFX & SWT 4
C Swing TableCellRenderer: setText() vs. setIcon() AWT, Swing, JavaFX & SWT 5
E Swing TableCellRenderer für alle Splaten setzen?! AWT, Swing, JavaFX & SWT 3
M gleicher TableCellRenderer für mehrere unterschiedliche Tabellen AWT, Swing, JavaFX & SWT 5
A Swing TableCellRenderer ändert die Zeilenfarbe zu spät AWT, Swing, JavaFX & SWT 3
J Swing JTable, eigener TableCellRenderer Keine Anzeige in den Zellen AWT, Swing, JavaFX & SWT 8
J NullPointerException bei Benutzung vom TableCellRenderer AWT, Swing, JavaFX & SWT 3
U TableCellRenderer UND prepareRenderer AWT, Swing, JavaFX & SWT 12
C Swing TableCellRenderer AWT, Swing, JavaFX & SWT 10
U TableCellRenderer und setBackground AWT, Swing, JavaFX & SWT 20
H Swing TableCellRenderer für verschiedene Spalten AWT, Swing, JavaFX & SWT 11
R JTable - TableCellRenderer AWT, Swing, JavaFX & SWT 3
R JTable - TableCellRenderer - BufferedImage AWT, Swing, JavaFX & SWT 9
S TableCellRenderer: JLabel-Background in JPanel AWT, Swing, JavaFX & SWT 7
R JTable mit TableCellRenderer AWT, Swing, JavaFX & SWT 10
R JTable - TableCellRenderer AWT, Swing, JavaFX & SWT 2
D TableCellRenderer rendert einfach nicht! AWT, Swing, JavaFX & SWT 4
S TableCellRenderer setForeground AWT, Swing, JavaFX & SWT 5
F TableCellRenderer wie umsetzen? AWT, Swing, JavaFX & SWT 2
D JTable TableCellRenderer AWT, Swing, JavaFX & SWT 2
J JTable und TableCellRenderer AWT, Swing, JavaFX & SWT 2
G TableCellRenderer Background variiert darstellen AWT, Swing, JavaFX & SWT 3
P TableCellRenderer mit einem TableRowSorter AWT, Swing, JavaFX & SWT 4
G TableCellRenderer soll ganze ausgewählte Zeile markieren AWT, Swing, JavaFX & SWT 2
S TableCellRenderer deaktivieren AWT, Swing, JavaFX & SWT 13
J TableCellRenderer AWT, Swing, JavaFX & SWT 5
S JTree mal anders (TableCellRenderer) AWT, Swing, JavaFX & SWT 6
S TableCellRenderer, Performance AWT, Swing, JavaFX & SWT 9
M Objekt in TableCellRenderer packen, warum ein Fehler? AWT, Swing, JavaFX & SWT 2
B TableCellRenderer + JComboBoxen AWT, Swing, JavaFX & SWT 2
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Swing Splitpane Problem AWT, Swing, JavaFX & SWT 1
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
N JavaFX Stranges Problem mit der Autoscroll-Eigenschaft von Textareas AWT, Swing, JavaFX & SWT 0
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
J JavaFX Intersect Problem mit Shapes AWT, Swing, JavaFX & SWT 10
R JavaFX MediaPlayer AVI-Problem AWT, Swing, JavaFX & SWT 1
M Swing Problem mit ListCellRenderer AWT, Swing, JavaFX & SWT 7
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
F GUI Auflösung ändern - Koordianten und Proportions Problem AWT, Swing, JavaFX & SWT 21
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Problem mit Variablen AWT, Swing, JavaFX & SWT 4
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben