tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
1114
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    barsiq barsiq ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Ort
    Aachen
    Beiträge
    45
    Tagchen,

    ich habe ein Problem, bei dem ich nicht weiß obs geht.

    Die JInternalFrame's in unserer Anwendung haben ein Zustand.
    Und bei bestimmten Zuständen soll der Klick auf den "X" des Frames ihn nicht schließen, sondern offen lassen (mit neuen Zustand, Inhalt, blah-blah-blah).

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
            this.addInternalFrameListener(new InternalFrameAdapter(){
                @Override
                public void internalFrameClosing(InternalFrameEvent e) {
                    switch (Status) {
                    case ANRUF:
                    case BELAUSCHT :
                    case NOTRUF:
                        ...
                        dispose();
                        break;
                    case VERBINDEN:
                        changeStatus(DHPCallType.ANRUF, CALL);
                        break;
                    case JUKEBOX:                   
                    case NEUANRUF:
                        break;
                    default:
                        break;
                    }
                }
            });

    Das Debugen zeigt daß es wohl darein gelaufen wird, nur schließt sich das Fensterchen.#
    Kann man das abstellen und es dargestellt lassen?
     

  2. #2
    Avatar von Matze
    Matze Matze ist offline Weltenwanderer
    Registriert seit
    Jul 2007
    Ort
    Die Welt
    Beiträge
    1.504
    Blog-Einträge
    7
    Hi,

    ich hoffe dies hilft dir etwas weiter:
    Code :
    1
    2
    
    /* Sorgt dafür, dass der kleine schließen-Button links oben (x) keinen Effekt hat */
       this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    (steht in meiner JFrame, bzw JDialog Klasse, daher this)
     
    "... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)

    "Sir?, we're sorrounded!"
    "Excellent, we can attack in any direction"

  3. #3
    MeinerEiner_80 Tutorials.de Gastzugang
    Moin!
    Hast du auch
    Code :
    1
    
    yourInternalFrame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE)
    gesetzt?
    Das bewirkt, das sich dein InternalFrame nichts tut, wenn man auf das "X" klickt.. der FrameListener reagiert natürlich weiterhin auf das Event....

    *grüssle*
    MeinerEiner

    Edit: Na da war wohl jemand schneller...
     

  4. #4
    Avatar von TheBodo
    TheBodo TheBodo ist offline Mitglied Gold
    Registriert seit
    Sep 2007
    Ort
    Braunschweig
    Beiträge
    157
    Joar ich würde (auch) Die DefaultCloseOperation auf null setzen

    also JInternalFrame.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);

    Aber vlt hast du auch was falschgemacht bei dem Notruf, da steht ein dispose(); !

    MfG Bodo


    edit: Leute ich bin jung last mir auch Lorbeeren
     

  5. #5
    barsiq barsiq ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Ort
    Aachen
    Beiträge
    45
    Ein sehr netter Ansatz, nur läßt sich dann das Fenster niemehr schließen, es wird nicht mehr in den FrameListener gesprungen, wenn ich
    Code :
    1
    
    this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    meinem Constructor anfüge.

    Ich muß erreichen, daß nur einige der Zustände sich nicht schließen lassen dürfen.
     

  6. #6
    barsiq barsiq ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Ort
    Aachen
    Beiträge
    45
    UPD. Ich habe mein Problem gelöst.
    Vielen Dank für schnelle Hilfe.
     

  7. #7
    Avatar von procurve
    procurve procurve ist offline Mitglied Gold
    Registriert seit
    Aug 2007
    Beiträge
    158
    Und wie hast du es gelöst? Wäre interessant, das hier noch zu erfahren.
     

  8. #8
    barsiq barsiq ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Ort
    Aachen
    Beiträge
    45
    Also, genau so gelöst wie hier vorgeschlagen.

    Der Constructor bekommt eine Anweisung
    Code :
    1
    
    this.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);

    Der InternalFrameListener bekommt noch in den Fällen, wo das Fenster geschloßen werden soll, ein dispose().

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
            this.addInternalFrameListener(new InternalFrameAdapter(){
                @Override
                public void internalFrameClosing(InternalFrameEvent e) {
                    switch (Status) {
                    case ANRUF:
                    case BELAUSCHT :
                    case NOTRUF:
                        ...
                        dispose();
                        break;
                    case VERBINDEN:                 
                        changeStatus(DHPCallType.ANRUF, CALL);
                        break;                  
                    case JUKEBOX:                   
                    case NEUANRUF:
                        dispose();
                        break;
                    }
                }
            });
     

  9. #9
    Avatar von Matze
    Matze Matze ist offline Weltenwanderer
    Registriert seit
    Jul 2007
    Ort
    Die Welt
    Beiträge
    1.504
    Blog-Einträge
    7
    Ok. Jetzt bitte noch den Thread als erledigt markieren.
     
    "... Jeder von uns ist Kunst... gezeichnet vom Leben" (Casper)

    "Sir?, we're sorrounded!"
    "Excellent, we can attack in any direction"

Ähnliche Themen

  1. Klick auf Link abfangen und erst Funktion ausführen
    Von FunkyMonkey im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 25.01.11, 10:18
  2. JInternalFrame: Wie minimize event abfangen?
    Von Robs im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 2
    Letzter Beitrag: 06.01.09, 14:17
  3. Klick neben einem modalen Dialog abfangen
    Von DarthShader im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 3
    Letzter Beitrag: 10.04.08, 14:00
  4. Antworten: 5
    Letzter Beitrag: 14.06.05, 17:52
  5. requestFocus() und JInternalFrame
    Von RedWing im Forum Java
    Antworten: 1
    Letzter Beitrag: 21.06.04, 18:20