Wie kann ich JComboBox
als Zelleneditor in JXTreeTable
verwenden? Können Sie mir bitte ein funktionierendes Beispiel geben?JXTreeTable und JComboBox Zelleneditor
Antwort
table.getColumn(0).setCellEditor(
new DefaultCellEditor(new JComboBox(new Object[]{"A", "B", "C"})));
können Sie verwenden JComboBox
für alle Spaltenzelleneditor unter Code mit Ausnahme einer Spalte, die JXTreeTable
hierarchische Daten anzuzeigen verwendet.
Ex:
TableColumnExt column = this.tree.getColumnExt(1);
column.setCellEditor(new DefaultCellEditor(new JComboBox());
das heißt nicht JComboBox
für eine Spalte verwenden können, die JXTreeTable
hierarchische Daten anzuzeigen verwendet.
In JXTreeTable
java doc sie, dass erwähnen,
JXTreeTable ist eine spezialisierte Tisch, bestehend aus eine einzige Spalte, in der hierarchische Daten anzuzeigen, und eine beliebige Anzahl von anderen Spalten, in denen regelmäßig Daten anzuzeigen .
JXTreeTable erstellt intern TreeTableCellEditor
, das zum Anzeigen hierarchischer Daten verwendet wird.
TreeTableModel
Methode bietet getHierarchicalColumn()
, in dem Sie die colum verwendet zum Anzeigen hierarchischer Daten
Nun, wenn Sie zur Verfügung stellen möchten JComboBox
auf den ersten Säule (0. Position Spalte ist standardmäßig hierarchische Spalte) angeben können, dann müssen Sie verschiedene bieten Spaltenindex mit TreeTableModel, ansonsten müssen Sie Ihre Spalte verschieben (empfohlen von meiner Seite).
-Code unterschiedliche Spalte für hierarchische Daten
this.tree = new JXTreeTable(new DefaultTreeTableModel() {
public int getHierarchicalColumn() {
return 2;
}
});
Hinweis zur Verfügung zu stellen: Ich zur Verfügung gestellt haben, diese Lösung, so dass Sie Ihre Lösung mit minimalem Anpassungscode erreichen können. Es kann einen anderen Weg geben, aber ich persönlich finde diese Lösung sehr einfach zu implementieren