Natriumarm Geschrieben 17. Oktober 2013 Teilen Geschrieben 17. Oktober 2013 Hallo, ich habe mal wieder eine Newbie-Frage. Auf meinem JFrame Anzeige habe ich zwei JLabel lbl_1 & lbl_2. In diesen stehen Namen drin. Jetzt merke ich beim arbeiten, dass ich einen oder beide Namen falsch geschrieben habe und möchte die korrigieren. Dazu habe ich mir ein zweites JFrame Korrektur gebastelt, dass den Inhalt von lbl_1 & lbl_2 übergeben bekommt und einen Button "Übernehmen" enthält. p_one = lbl_1.getText(); p_two = lbl_2.getText(); //this.dispose(); P_Card Korrektur= new P_Card(p_one, p_two); Ich korrigiere jetzt die Namen und beim Drücken des Button "Übernehmen" setze ich in der actionPerformed() Methode von JFrame Korrektur die neuen Werte in Variablen p_one_change = txt_p_one.getText(); p_two_change = txt_p_two.getText(); Wie bekomme ich jetzt die Werte von p_one_change in lbl_1 und p_two_change in lbl_2 des noch aktiven JFrame Anzeige? Ich möchte das JFrame Anzeige nicht neu aufbauen, da mir ja dann die Werte flöten gehen, die in anderen JLabel, Textareas etc. eingegeben sind. Vielen Dank für die Ideen im voraus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hbspike Geschrieben 17. Oktober 2013 Teilen Geschrieben 17. Oktober 2013 (bearbeitet) Hallo Natriumarm. Ich habe das gerade mal lokal getestet mit einem normalen JFrame und 2 JLabels. Soweit ich das sehe musst du einfach nur den Text im JLabel austauschen und das aktualisiert dann das aktuelle JFrame auf den neuen Wert, sofern du eine "ControllerKlasse" hast, die Zugriff auf beide JFrames ermöglicht. Zur Not gibt es noch die Funktion JFrame.repaint(). Ich hoffe das konnte dir helfen. Mfg Chris Bearbeitet 17. Oktober 2013 von hbspike Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Natriumarm Geschrieben 17. Oktober 2013 Autor Teilen Geschrieben 17. Oktober 2013 Eine Controllerklasse existiert nicht. Werd mich mal schlau machen, wie und ob ich das für mein Projekt sinnvoll einbauen kann. Wenn ich das Programm starte, starte ich ein minimalistisches JFrame, geb dort bissl was ein, übergebe das alles an das JFrame Anzeige und dann gehts los mit den eigentlichen Eingaben. Stand momentan würde das also nicht funktionieren. Hab auch überlegt, ob ich ein MessageDialog nutzen könnte. Wäre ja aus funktionaler Sicht auch vollkommen ausreichend. Danke trotzdem. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hbspike Geschrieben 17. Oktober 2013 Teilen Geschrieben 17. Oktober 2013 Also ist das Problem das du nicht vom Korrektur-Frame auf das Anzeige-Frame zugreifen kannst? Mhh. Das ist natürlich ungünstig. Ich weis nicht inwieweit JFrames untereinander verknüpft werden, da ich annehme das das Korrektur-Frame vom Anzeige-Frame erzeugt wird. Ggf. kannst du dann vielleicht über die Parent-Componente des Korrektur-Frames auf das Anzeige-Frame zugreifen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Natriumarm Geschrieben 17. Oktober 2013 Autor Teilen Geschrieben 17. Oktober 2013 Genau das ist mein Problem. Im Anzeige JFrame rufe ich über ein JMenuItem P_Card Korrektur= new P_Card(p_one, p_two); auf. Dann korrigier ich, schreib die korrigierte Werte aus dem Korrekturframe in Variable und diesen Inhalt möchte ich dann an die Anzeige zurückgeben, damit im lbl_1 und lbl_2 die korrigierten Werte drin stehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hbspike Geschrieben 17. Oktober 2013 Teilen Geschrieben 17. Oktober 2013 Dann würde ich mir jetzt die Componenten im Debugger mal anschauen. Vielleicht hast du Glück und das Anzeige-Frame enthält eine Referenz. Ansonsten, mhh. Der Klick auf den Button ist ja ein ActionListener, vielleicht kannst du diesen im Anzeige-Frame zwischenhalten? Wie gesagt so genau kenne ich mich damit nicht aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Natriumarm Geschrieben 18. Oktober 2013 Autor Teilen Geschrieben 18. Oktober 2013 Leider komm ich nicht weiter. Mit dem Debugger erkenne ich nichts, was mich weiter bringt. Wahrscheinlich nutze ich auch nicht alles richtig. Was mir jetzt noch spontan einfällt. Könnte ich eine Methode in der Anzeige schreiben, die vom Korrektur JFrame aufgerufen wird, in der die Label neu gesetzt werden? Widerspricht wahrscheinlich allen gängigen Richtlinien ;-) Hat noch jemand Ideen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wurmi Geschrieben 21. Oktober 2013 Teilen Geschrieben 21. Oktober 2013 Könnte ich eine Methode in der Anzeige schreiben, die vom Korrektur JFrame aufgerufen wird, in der die Label neu gesetzt werden? Ohne daß es state-of-the-art Design ist, könnte ein gangbarer Weg so sein: Das KorrekturFrame hat eine Referenz auf das Anzeigeframe, welche im Konstruktor KorrekturFrame übergeben wird. Im Anzeigeframe gibt es eine public-Methode, die den Inhalt der Labels setzt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.