Programmieren - alles kontrollieren 4.939 Themen, 20.672 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) „hmm...irgendwie funzt das nicht. könntet ihr mal konkreter werden ?...“
Optionen

Das ist der selbe Post wie von 17.3 Er ist bloß an der falschen Stelle gelandet


public class DeinFrame{
//... Zeug

public DeinFrame() {
text1 = new TextFeld();
text1 = new TextFeld();
}
public TextFeld text1;
public TextFeld text2;
//... ich hab keine Ahnung von Frames und Textfeldern
// aber dein Problem ist davon unabhängig lösbar
} // ende class deinFrame

public class X {
// ... bla bla, Konstruktor...
public void neuerWert(/*was weis ich was du für Parameter hast*/, TextFeld output) {
// rechnen
if (output != NULL)
output.zeigAn(Wert);
// oder wie auch immer die der Text eines Textfelds geändert wird
} // ende public void neuerWert();
} // ende class X

// Y läuft natürlich analog

public class NochNeClassDieDuBrauchst { // vieleicht deine MainKlasse
//.. wie immer
public NochNeClassDieDuBrauchst() {
frame = new DeinFrame();
}
public DeinFrame frame;
public X kleinx;
public Y kleiny;
public textFelderAktualisieren() {
kleinx.neuerWert(/*....*/,frame.text1);
kleiny.neuerWert(/*....*/,frame.text2);
}
}


Also genauer kann ichs nicht mehr erklären






bei Antwort benachrichtigen