Swing CellEditor für einzelne Zellen

Kronos

Mitglied
Moin Moin,

über
Java:
table.getColumnModel().getColumn(1).setCellEditor(editor);
kann ich ja den CellEditor für die gesamte Spalte ändern und zum Beispiel eine ComboBox dafür nehmen. Jetzt habe ich den Fall, dass ich zwei Spalten habe und je nachdem was in der ersten Spalten steht, ich den Editor in der zweiten Zeile bestimmen möchste. (JTable mit DTM)

(gekürzt)
Java:
if (table.getValueAt(row, Spalte0) == 1){
 Cell(row, Spalte1).setCellEditor(editor1);
} else {
 Cell(row, Spalte1).setCellEditor(editor2);
}

Dass ich also zur Laufzeit den Editor für einzelne Zellen ändern kann, und nicht für die gesamte Spalte. Ist sowas überhaupt möglich ???:L
 
getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
So sieht die Funktion aus, die du in deinem CellEditor überschreiben musst. Wenn du jetzt je nach Zeilennummer andere Komponenten zurückgeben willst, musst du in dieser Funktion also eine Abfrage machen, für welche Zeile eben ein Komponent benötigt wird. Wie du siehst hat die Funktion den Parameter "row".
Sowas ähnliches wurde auch hier schon gefragt: http://www.java-forum.org/awt-swing-swt/126828-jbutton-row-jtable.html#post824084
 
Zuletzt bearbeitet:
Wieder was dazu gelernt. Das würde zwar klappen, aber dadurch, dass da leider ein paar mehr Sachen zur Auswertung dranhängen und die Performance ziemlich in den Bach gehen würde dadurch, muss ichs doch anders machen.

Danke trotzdem für die schnelle Hilfe!
 

Neue Themen


Zurück
Oben