Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben (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 von hbspike
Geschrieben

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.

Geschrieben

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.

Geschrieben

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.

Geschrieben

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. ;)

Geschrieben

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?

Geschrieben
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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...