Antwort
 
Themen-Optionen
Alt 17.08.2007, 01:40 Nach oben    #1
Neuer Benutzer
 
Registriert seit: 16.08.2007
Ort: Dresden
Beiträge: 5
Standard Methodenaufruf

Hallo,
ich habe ein Hauptfenster, was die grafische Grundlage darsstellt. Es ist vom Typ JFrame. Dieses Hauptfenster enthält eine nicht-grafische Klasse Projekt, welche für die komplette Projektverwaltung zuständig ist, sprich erstellen, öffnen, Projektpfad anlegen, div. Dateien ausgeben.
Eine Methode öffnet einen JDialog zu Abfragezwecken. Der Dialog bietet die Möglichkeit eine Protokolleintrag zu tätigen. Die Methode für für den Eintrag liegt aber in der Projekt.class.
Meine Frage ist jetzt, wie kann ich vom Dialog die Methode aufrufen?

Eine Möglichkeit wäre einen Dialogkonstruktor zu schreiben, in dem sich das Projektobjekt selbst mit übergibt und im Dialog somit dessen Funktion aufrufbar ist. Nur ist das sinnvoll bzw. ist das "sauber" programmiert?

Oder besteht irgendwie die Möglichkeit, das ein Objekt auf seinen "Erzeuger" zurückgreifen kann.

Danke schon mal
spag ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.08.2007, 07:03 Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von Gottzilla
 
Registriert seit: 02.02.2005
Beiträge: 520
Standard

Zum Thema "Ich habe eine nicht grafische Klasse in einem JFrame": Schau dir mal MVC an (Model View Controller).

Zu deiner Frage: Schau dir mal das Observer-Patter an.
Gottzilla ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.08.2007, 14:36 Nach oben    #4
Neuer Benutzer
 
Registriert seit: 16.08.2007
Ort: Dresden
Beiträge: 5
Standard Observer-Pattern

Also ich komm nicht wirklich mit. Die Swingklasse bietet mir EventListener an.
Die Struktur des Programm sieht aber jetzt so aus, das ein Projekt-Objekt ein Messdaten-Objekt besitz. Dieses ruft den Dialog auf, welcher dann auf eine Methode im Projektobjket zugreifen soll. Warum? weil in dem Projekt-Objekt der Pfad zur Abspeicherung mit angegen ist.
Jetzt möchte ich aber auch nicht einen Eventlistener soweit auslagern, weil dann meiner Meinung nach die Übersichtlichekit verloren geht. Und mit den Observerlat muss ich ihn jedes mal als Parameter vom Projekt bis Dialog mit übergeben, was für micht nicht soviel sinn macht, weil ich da auch gleich das Projekt-Objekt bis zum Dialog mitübergeben kann, da ich im Dialog keinen das Projekt nicht als Observer hinzufügen kann, weil es ja unbekannt ist.
In den meisten Beispielen werden die Observer und Observerlat immer gleichzeitig erstellt, und dann ist es auch recht einfach die Observer zu add'en.
Entweder stell ich mich zu blöd an oder ich hab echt keinen Durchblick mehr.
Ich muss dazusagen, das ich kein gelernter Programmierer bin, nur gern etwas Struktur darin haben möchte und nicht dauernd ein Kreuz und quer gelinke.

Gruss Thomas
spag ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.08.2007, 14:48 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard

Ja, das Problem ist für uns jetzt .. was genau willst du wissen, was genau sollen wir antworten...
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.08.2007, 15:10 Nach oben    #6
Neuer Benutzer
 
Registriert seit: 16.08.2007
Ort: Dresden
Beiträge: 5
Standard

ok, sorry.

Ich würde gern wissen wie ich die Objekte strukturien sollte bzw. wie ich den Observerlat anlegen müsste damit man auf ihn von überall zugreifen kann bzw. ob das überhaupt möglich ist?
Die Frage die sich mir jetzt in dem selben Zusammenhang stellt ist wie kann ich bzw. wie muss ich Daten zentral ablegen, damit verschieden Objekte auf sie zugreifen können wie zum Beispiel Programmeinstellungen.
Wie gesagt eine Möglichkeit wäre, das ich jedem Objekt was ich erzeuge die nötigen Werte mitgebe, nur scheint mir das etwas doof. Oder sollte man einfach ein Objekt am Anfang erstellen, was man jedem weiteren Objekt mitgibt, damit es sich aus ihm die passenden Werte selbst herausnimmt?
In dem Zusammenhang habe ich gerade Schnittstellen überflogen. Könnte ich mit denen eine Zentrale Datenhaltung realisieren, weil sie ja eigentlich nur zur mehrfachvererbung gedacht sind. Wenn ja, wie würde der Ansatz dafür aussehn?

Geändert von spag (17.08.2007 um 17:32 Uhr).
spag ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 17.08.2007, 19:30 Nach oben    #7
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.108
Standard

Meine Güte. Programmieren mit Java ist unglaublich toll. Wenn jemand fragen hat, kann man ihn mit Stichworten erschlagen und er kann sich das dann selbst raussuchen, einfach toll.

Die Lösung deines Problems nennt sich Singleton.
pago ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.08.2007, 10:58 Nach oben    #8
Neuer Benutzer
 
Registriert seit: 16.08.2007
Ort: Dresden
Beiträge: 5
Standard

Danke für die Antwort.
Wert ich mir mal ansehen, weil es auf den ersten Blick so etwa in die Richtung tendiert, die ich mir dachte.
Habe es aber im Moment einfach so gemacht, das ich einfach das Projekt immer als Referenz an jedes erzeugte Objekt mitgebe. Geht jetzt erstmal.
Muss auch bald fertig werden, desswegen erstmal so.

Danke euch allen.
spag ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 22.08.2007, 15:41 Nach oben    #9
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard

Ich mag trotzdem noch einen Standardlink hinterherschieben: http://de.wikipedia.org/wiki/Singleton_(Entwurfsmuster)
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:30 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44