Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Java ::  Model-View Problem JTable     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
entrevous
Unregistrierter




Beitrag entrevous Unregistrierter 20:45:56 25.08.2010   Titel:   Model-View Problem JTable            Zitieren

Hi,

ich bin ein Anfänger auf dem Swing gebiet und will folgenden Anwendungsfall realisieren:

Eine Gui stellt einen JTable mit initial 'n' Datensätzen bereit. Die Einträge sind ungefähr so aufgebaut

name, value, attr1, attr2, comment

.name - kann vom user geändert werden.
.value - hängt direkt vom name ab. Ändert sich permanent. Wird von einem Thread aus aktualisiert.
.attr1 - Attribut aus einer vordefinierten Liste
.attr2 - Attribut aus einer vordefinierten Liste, die von attr1 abhängt. D.h. die Liste ändert sich, wenn attr1 sich ändert.
.comment - kann vom user festgelegt werden.

Die Daten werden aus einer DB gelesen und sollen bei Klick auf einen Button in die Datenbank zurückgeschrieben werden. Selbstverständlich soll der User in der Lage sein, Einträge aus der JTable zu editieren, zu löschen, einzufügen.

Nun zu meinen Fragen:
Der Gedanke war, eine Komponente zu schreiben, die einen JTable bereitstellt. Das TableModel würde einfach eine Liste der Dateneinträge beinhalten.
-Was passiert jetzt, wenn der User einen Eintrag modifiziert, d.h. z.B. value ändert? Die Änderung soll ja nicht sofort in die DB geschrieben werden. Wir der Wert trotzdem sofort ins Model geschrieben, d.h. der Eintrag in der Liste, der zur row passt wird entsprechend modifiziert?
-Wenn der User Einträge löscht, dann kann ich die ja nicht direkt aus dem Model löschen, da ich nachher sonst nicht mehr wüsste, das ich ihn löschen muss.
-Was passiert, wenn einfach ein neuer Eintrag zwischen zwei Bestehenden eingefügt werden soll? Verschiebe ich die Einträge in meinem Model?

Das sollte fürs erste reichen. Später hätte ich noch Fragen zu Renderern, Editoren und so

Vielen Dank für die Hilfe
Gruß
Varus
Mitglied

Benutzerprofil
Anmeldungsdatum: 01.08.2003
Beiträge: 124
Beitrag Varus Mitglied 09:48:01 30.08.2010   Titel:              Zitieren

1.) value soll er ja nicht ändern können, oder? Aber ja, wenn ein Benutzer einen Zelleintrag editiert und das Modell dieses auch akzeptiert (siehe Methode setValue() und isEditable()) und korrekt verarbeitet, so ist die Datenbasis, die dem Modell zu Grunde liegt, auch modifiziert.
Die DB ist davon nicht betroffen; die Daten müssen erst synchronisiert werden (es sei denn, das TableModel ist so geschrieben, dass es direkt ein UPDATE auf die Datenbankdatei durchführt).

2.) Ist der zweite Stichpunkt eine Frage?

3.) Ja was passiert dann? Die Datenbasis des TableModel-Exemplars erhält einen neuen Satz (z.B. ein Object-Array). Dieses kann irgendwo eine Kennzeichnung 'neu' (oder id=0) erhalten und später in die Datenbank eingefügt werden.

Als Datenbasis für solche Aufgaben eignet sich beispielsweise javax.sql.rowset.CachedRowSet gut.
C/C++ Forum :: Java ::  Model-View Problem JTable   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.