Zum Inhalt springen

JTable Problem


Straider

Empfohlene Beiträge

Hi, ich hab in java ein kleines problem mit JTable...

und zwar, wenn ich jetzt eine JTable habe, und dort meine Daten eingebe, und dann mit TAB oder Maus den Zellen "entlang gehe" und am letzten angelangt bin, und alle Daten eingeben habe, und auf mein Speichern knopf drücke, speichert es immer die änderungen von der Zelle nicht ab, wo der cursor nicht war... Des kann man ja umgehen, indem man ENTER drückt, nur des wär eben schön wenns auch ohne ENTER geht. Wisst ihr viell. wie man des umgehen kann?

mfg

Straider

Link zu diesem Kommentar
Auf anderen Seiten teilen

wenn ich jetzt eine JTable habe, und dort meine Daten eingebe, und dann mit TAB oder Maus den Zellen "entlang gehe" und am letzten angelangt bin, und alle Daten eingeben habe, und auf mein Speichern knopf drücke, speichert es immer die änderungen von der Zelle nicht ab, wo der cursor nicht war [...] Wisst ihr viell. wie man des umgehen kann?
Da gibt es keine allgemeine Antwort zu - es kommt auf dein TableModel an. Dort werden die eigentliche Daten gespeichert - die Editor Fields stellen ja lediglich den View da.

Du solltest also als erstes checken, wo die Daten "stecken bleiben". Kommen im Model bereits die neuen Werte an? Werden sie dort in die richtigen Datenstrukturen hineingeschrieben?

Über welchen Mechanismus liest du überhaupt die Daten wieder aus, bevor sie gespeichert werden? Vielleicht werden auch hier einfach alte Objektinstanzen verwendet, die erst bei einem Focusverlust der Editorfelder und nicht bereits beim Setzen von neuen Werten geupdatet werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

also, hab jetzt mal nachgeschaut, so speichern wir die Daten ab:


    Vector tempDataVector = tableModel.getDataVector();

    int sizeOfDataVector = tempDataVector.size();

    source.removeAllDeclarations();


    for (int i = 0; i < sizeOfDataVector; i++) {

      Vector temp = (Vector) tempDataVector.elementAt(i);

      source.addDeclarationObject(temp.elementAt(1).toString());

      source.setConfDec(true);

    

ich bin mir relativ sicher, dass es noch nicht ins Model abgespeichert wird.

mfg

Straider

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich bin mir relativ sicher, dass es noch nicht ins Model abgespeichert wird.
Kannst du das verifizieren? Bist du mal mit 'nem Debugger eingestiegen und hast dir vor dem und nach dem Speichern angesehen, wie der Inhalt der Objekte aussieht? Ist da alles so, wie es sein sollte?

Ansonsten genau den gleichen Schritt beim Model durchführen. Einen Breakpoint bei setValueAt setzen und herausfinden wo genau die Werte in welche Objekte geschrieben, bzw. nicht geschrieben werden.

Mach dir im Kopf eine Liste mit den Punkten, bei denen das Problem liegen könnte. Dann versuche nach und nach die Punkte abzuarbeiten und zu verifizieren, dass bei Punkt X das Problem nicht liegt. Irgendwann wirst du dann an dem Punkt angekommen sein, wo es kracht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...