Jtable mit verschiedenen Arten von Zellen, abhängig vom Datentyp

8

Wie kann ich eine JTable mit verschiedenen Arten von Zelleditoren implementieren, abhängig von der Art der Eingabe, die eine bestimmte Zeile anzeigt?

Zum Beispiel

  • einige Zeilen könnten Kontrollkästchen sein (für boolesche Typen)
  • Einige Zeilen können Comboboxen sein (wenn ich eine feste Auswahl von Optionen zur Auswahl stellen möchte)
  • Einige Zeilen könnten Textfelder sein (wenn ich beliebige Daten erlaube).

Zur Zeit habe ich die AbstractTableModel implementiert, die eine Reihe von benutzerdefinierten Feldobjekten von meinem Objekt übernimmt und Zeilen zur Tabelle hinzufügt. Ich möchte meine Tabelle weiter anpassen, indem ich bestimmte Arten von Zellen einstelle. Ich kann anhand des Feldtyps in der Zeile bestimmen, welcher Zellentyp verwendet werden soll.

Das Tabellenmodell wird dynamisch zur Laufzeit erstellt.

    
MxyL 06.06.2013, 19:43
quelle

2 Antworten

17
  
  • einige Zeilen könnten Kontrollkästchen sein (für boolesche Typen)
  •   
  • Einige Zeilen können Comboboxen sein (wenn ich eine feste Auswahl von Optionen zur Auswahl stellen möchte)
  •   
  • Einige Zeilen könnten Textfelder sein (wenn ich beliebige Daten erlaube).
  •   

zum Beispiel

%Vor%     
mKorbel 06.06.2013, 20:13
quelle
0

Erstellen Sie eine benutzerdefinierte Klasse, die javax.swing.table.TableCellRenderer implementiert und die Werte mithilfe des Steuerelements anzeigt, das abhängig vom Datentyp angezeigt werden soll. Verwenden Sie Instanzen dieser Klasse als CellRenderer (TableColumn.setCellRenderer)

    
TT. 06.06.2013 20:14
quelle