Problem Comboboxen in JTable direkt zu aktualisieren

MarkusG

Mitglied
Hallo alle zusammen,

ich habe in einer Spalte meiner JTable ComboBoxen. Diese werden mit Daten aus einer Datenbank bespeist. Über eine Buttongroup (Radiobuttons) wähle ich aus ob es sich um Quell-/Zieldatenbestände handelt.

Nun folgt mein Problem:
Wenn ich in einer ComboBox einen Wert auswähle und danach den anderen Radiobutton betätige, werden zwar im Hintergrund die richtigen Daten geladen und auch angezeigt, jedoch nicht in meiner ComboBox. Erst wenn ich ein anderes Feld der Tabelle anklicke und danach wieder auf die ComboBox.

Da ich bei der Betätigung eines Radiobuttons die JTable neu befülle, zeigt er mir quasi den alten Stand in der ursprünglich gewählten ComboBox an. Erst wenn ich etwas anderes anklicke und es dann versuche sind die aktuelle Daten zu sehen.

Kann mir jemand helfen?

Vielen Dank im Voraus.
 
Hallo alle zusammen,

ich knabbere immer noch an oben beschriebenem Problem.
Ich habe inzwischen alles mögliche versucht.

updateUI() bringt nichts,

jTable.setModel(jTable.getModel()); <- vereinfachte Form
schafft es auch nicht die ComboBox in meiner Spalte aus dem Editiermodus zu werfen,

jTable.disable() mit anschließendem jTable.enable() bringt auch nichts,

jTable.clearSelection() bringt auch nichts..... :eek:(

Es muss doch irgendwie möglich sein, eine angewählte ComboBox (wurde als CellEditor an alle Zellen einer Spalte zugewiesen), die nach betätigen eines Radiobuttons neue Daten enthält, zu aktualisieren. Die aktualisierten Daten werden erst wieder angezeigt wenn ich die ComboBox manuell aus dem editierbaren Modus "werfe" indem ich auf eine andere Zelle klicke. Wenn ich danach wieder auf die ComboBox klicke sind die aktuellen(richtige) Daten vorhanden...

Wie kann ich es realisieren, dass eine ComboBox in einer jTable Spalte nach Drücken eines Radiobuttons nicht mehr im editiermodus ist? Somit enthält sie die richtigen Daten sobald der User das nächste Mal draufklickt.

Ich bin für jegliche Hilfe dankbar.

Mfg. Markus
 
Hallo,

versuch doch einfach die cancelCellEditing() oder stopCellEditing() Methode (je nach dem, ob die Änderungen übernommen werden müssen) in dem ComboboxCellEditor aufzurufen, wenn er den Fokus verliert.
 
Super, danke. Das funktioniert.

Wie kann ich abfragen ob sich überhaupt eine Zelle im edit-Modus befindet? Wenn dies nämlich nicht der Fall ist, bekomme ich eine Null-Pointer exception.
 

Neue Beiträge

Zurück