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
Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge
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