JTable und CellRenderer

Status
Nicht offen für weitere Antworten.

HilfeSucher

Mitglied
Hallo, irgendwie versteh ich die CellRender Nummer nicht ganz. Ich möchte mehrzeilige TabellenZellen haben, da so eine Tabelle auf eine A4 Seite passt.
Ich hab im "Java ist auch eine Insel" folgendes Beispiel gefunden: ???:L



Code:
package com.javatutor.insel.ui.table; 
 
import java.awt.*; 
import javax.swing.*; 
import javax.swing.table.*; 
 
public class TwoLinesCellRenderer 
  extends JTextArea implements TableCellRenderer 
{ 
  public Component getTableCellRendererComponent( 
    JTable table, Object value, 
    boolean isSelected, boolean hasFocus, int row, int column ) 
  { 
    setText( "1\n2" );    // Text setzen, hier z.B. 1 2 
 
    return this; 
  } 
}

versteh aber die Zeile mit setText( "1\n2" ); // Text setzen, hier z.B. 1 2
Wenn ich das so übernehme und den DefaultCellRenderer wie folgt zuweise:
Code:
 LehrerPlan.setDefaultRenderer(Object.class, new TwoLinesCellRenderer());
Bekomme ich in jedes Feld eine "1", aber keine Spur von der "2" oder dem Zeilenumbruch.

Setzt der CellRenderer vorraus, das sich im data-Feld eine JTextArea befindet? :?:

Danke für eure Hilfe.
 
Hab es hinbekommen! 😀

und ein neues Problem :autsch:

wenn ich in das Tabellenfeld Klicke um den Text zu ändern, wird daraus ein einzeiliges Feld, das nicht wieder zweizeilig wird, warum?
 
:bae: Jetzt brauchst du noch TextArea als CellEditor. Renderer hast du bereits.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben