JTable mit eigenen Cellrenderer oder so ähnlich

Zhoragh

Mitglied
Hi,

ich möchte gern eine JTable erstellen die in der 1. Spalte Images darstellt und in der 2. Spalte einen mehrzeiligen Text zulässt (anzeigen und editierbar).

Kann mir jemand weiterhelfen wie ich das Problem lösen kann?

Hier ein Beispiel dafür:
 

Anhänge

  • jtable.png
    jtable.png
    5,9 KB · Aufrufe: 327
Moin,
in der Tat ist das über eigene TableCellRenderer machbar.
1. Neue Renderer-Klasse anlegen, z.B. MyImageRenderer extends DefaultTableCellRenderer (ist nichts anderes als ein JLabel)
2. Eigene Implementierung (Überschreiben!) der Methode getTableCellRendererComponent (aus dem TableCellRenderer Interface) z.B. mit setImageIcon(deinIconImage)
3. An geeigneter Stelle myTable.setDefaultRenderer(MyLabel.class, new MyImageRenderer());
4. Im TableModel die Methode getColumnClass() überschreiben und für die erste Spalte MyLabel.class zurückgeben.

Ich hoffe, das ist einigermaßen verständlich.
 
Danke erst mal,

das löst zwar das Problem mit dem Icon aber wie bekomme ich es hin das in der 2.Spalte ein Mehrzeiliger Text möglich ist?
 
Zur Eingabe ist dann analog ein eigener CellEditor anzulegen, diesmal eben von JTextArea abgeleitet.
Übrigens gibt es solche Sachen und noch viel mehr interessante Swing-Spielereien in der Linksammlung zu finden.
 
Zurück