tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
462
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Lehtis Lehtis ist offline Rookie
    Registriert seit
    Jan 2012
    Beiträge
    7
    Hallo ich habe ein JFrame.
    In diesem JFrame ist ein JPanel.
    Und jetzt soll ich aus dem JPanel wenn eine bestimmte Bedinung erfüllt ist den Titel des Frames ändern.

    Wie mach ich das denn?
     

  2. #2
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Hmm... Da gäbe es mehrere Möglichkeiten.

    Die wohl einfachste wäre, wenn du dem Panel die Instanz deines Frames überreichst und das Panel diese speichert. Dafür würde sich z.B. der Konstruktor eignen.

    Allerdings würde das dafür sorgen, dass das Panel von einem Frame abhängig wäre und das könnte bei Wiederverwendbarkeit eventuell zu Problemen führen. Ich persönlich würde daher ein Event-Verhalten nutzen. Wenn deine Bedingung erfüllt ist, feuert dein Panel ein bestimmtes Event und alle registrierten Listener können dann darauf reagieren. Dein Frame könnte dann so ein Listener sein und würde dann bei dem Event eben selbst den Titel ändern. Das entkoppelt die Sache und macht das Arbeiten damit deutlich flexibler. Ist aber auch mehr Aufwand nötig. Dagegen ist die erste Variante deutlich schneller implementiert.
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

  3. #3
    Lehtis Lehtis ist offline Rookie
    Registriert seit
    Jan 2012
    Beiträge
    7
    so danke für die Hilfe.
    Ich habs nun so gemacht:

    Code java:
    1
    2
    3
    4
    5
    6
    
    Container p;
    for(p = this.getParent(); p != null; p = p.getParent()) {
        if(p instanceof JFrame)
              break;
        }
    JFrame m = (JFrame)p;
     

  4. #4
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    647
    Das geht auch, ja. Aber dabei musst du drauf achten, dass dann dein Panel auch wirklich ein direktes Child-Element eines Frames ist und nicht noch in weitere Panels geschachtelt verschwindet, denn dann wird es ClassCastExceptions regnen. Ist aber als Ansatz schon nicht schlecht.
     
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 02.09.11, 09:25
  2. Rendern eines PDF auf einem JPanel
    Von Ritchie_Fomm im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 4
    Letzter Beitrag: 15.09.08, 16:44
  3. Maximieren eines JFrames->Layoutproblem
    Von AKST im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 8
    Letzter Beitrag: 23.09.04, 20:13
  4. C# Ändern eines Wertes in einem XML Dokument
    Von Neofox im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 02.08.03, 12:24