Straider Geschrieben 2. September 2005 Teilen Geschrieben 2. September 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 2. September 2005 Teilen Geschrieben 2. September 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Straider Geschrieben 5. September 2005 Autor Teilen Geschrieben 5. September 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
perdian Geschrieben 5. September 2005 Teilen Geschrieben 5. September 2005 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.