Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Typische Java Anfängerfrage ??

(Anonym) / 6 Antworten / Flachansicht Nickles

Hallo zusammen.

Folgende Frage: Ich habe in einer Klasse einen Frame mit Buttons, Textfeldern...usw.... programmiert und habe 2 weitere Klassen (nennen wir sie X und Y), in denen ich Methoden entworfen habe, dessen Ergebnisse in dem Textfeld der Frameklasse angezeigt werden sollen.
Dazu muß ich natürlich vorher in Klasse X ein Objekt der Frameklasse erstellen. (Das klappt auch gut). Jetzt will ich aber aus der Klasse Y auch ein Ergebnis im Objekt von Frame anzeigen. Was mache ich aber jetzt ?? Ich kann ja auf das soeben erstellte Objekt nicht zugreifen. (Klasse Y kennt es ja nicht). Muß ich jetzt nochmal ein Objekt mit gleichem Namen erstellen ??? Oder wie geht das ?

Falls das jetzt einer verstanden haben sollte, würde ich mich über die Auflösung des Problems sehr freuen.

Danke schonmal

Marco

bei Antwort benachrichtigen
Dreamforger (Anonym) „Typische Java Anfängerfrage ??“
Optionen

In deiner Frameklasse erstellst du die Textfelder (mit new).
Ausserdem machst du Instanzen von x und y in der Frameklasse.

Du kannst dann den Methoden von x und y das Textfeld auf das sie schreiben sollen als (Referenz) Parameter übergeben. Wenn du ganz sauber programmieren willst kannst du ja noch in den Methoden von x und y prüfen ob das Übergebene Object NULL ist.

Java übergibt nicht-primitive Datentypen immer als Zeiger (und würde das nie zugeben ;-) )deshalb wird bei der Übergabe auch nicht das Textfeld geklont sondern deine Methoden können auf das Textfeld der Frameklasse zugreifen.

Wenn du keine Instanzen von X und Y in deiner Frameklasse haben willst, musst du alle drei Klassen in einer anderen Klasse (A) einrichten.
Deine Frameklasse braucht dann noch eine Methode die das Textfeld-Object zurückliefert (falls das Ding nicht eh public ist).
Das so erhaltene Textfeld kannst du dann wieder den Methoden übergeben.

Dreamforger

bei Antwort benachrichtigen