Jtable mit verschiedenen Arten von Zellen, abhängig vom Datentyp
Wie kann ich implementieren einen JTable mit verschiedenen Arten von cell-Editoren abhängig von der Art der Eingabe einer bestimmten Zeile anzeigt?
Beispielsweise
- einige Zeilen könnte Checkboxen (für boolean-Typen)
- einige Zeilen könnte comboboxes (wenn ich will einen festen Satz von Optionen, um von zu wählen)
- einige Zeilen, könnte es sich um text-Felder (wenn ich es erlauben, beliebige Daten).
Derzeit habe ich umgesetzt AbstractTableModel
nimmt, die eine Reihe von custom-field-Objekte von meinem Objekt und fügt Zeilen in der Tabelle. Ich würde gerne noch weiter anpassen, meine Tabelle durch die Festlegung spezifischer Arten von Zellen. Ich kann bestimmen, welcher Zelltyp zu verwenden, basierend auf dem Typ des Feldes, das die Zeile enthält.
Den Tisch Modell wird dynamisch erzeugt zur Laufzeit.
- es gibt kein Problem zu erstellen EachRowRenderer für TableCellRenderer, aber noch nie gesehen, der versucht (wenn vorhanden) mit TableCellEditor, btw spielt keine Rolle, wenn ist-Wert für die JTable ist gespeichert in Standard-oder AbstractTableModel
Du musst angemeldet sein, um einen Kommentar abzugeben.
beispielsweise
JTable.getDefaultRenderer
was einfach ist.table.getValueAt(row, column)
was in Anbetracht KoordinatenJTable
, jetzt Tage, hätte nie gedacht, dass auch diese Sache auch getan 🙂 +1Erstellen einer benutzerdefinierten Klasse implementieren javax.swing.Tabelle.TableCellRenderer, die zeigt die Werte mit der Kontrolle, die Sie anzeigen möchten, mit je nach Datentyp. Verwenden Sie Instanzen dieser Klasse als CellRenderer (TableColumn.setCellRenderer)