Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Java] JFrane e windowlistener

    Salve,

    PREMESSA:
    Creo un JFrame con relativo WindowListener sul metodo closing nel quale è presente un showMessageDialog
    All'interno del jframe metto due pannelli(A), cliccando su un bottone il frame leva questi due pannelli e ne mette altri due(B)


    PROBLEMA/DUBBIO:
    Quando sono nella prima situazione (pannelli A) e clicco sulla X del jframe viene correttamente visualizzato il showMessagedialog

    Quando sono all'interno dei pannelli B il showMessaggeDialog viene erroneamente visualizzato 2 volte invece di una

    Tra l'altro ho notato che più volte torno sui pannelli B più volte viene visualizzato il showMessageDialog, esempio:

    PARTENZA
    da pannelloA->pannello B
    click su X, 2 showMessageDialog
    da pannelloB->pannello A
    da pannelloA->pannello B
    click su X, 4 showMessageDialog
    da pannelloB->pannello A
    da pannelloA->pannello B
    click su X, 6 showMessageDialog
    ect ect


    come mai?
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  2. #2
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  3. #3
    penso sia legato alla reale distruzione del frame collegato al showmessagedialog.

    ho quest'impressione xchè utilizzando il seguente codice
    codice:
            int lung = JFrame.getFrames().length;
    for (int ii=0; ii<lung; ii++) {
    Frame frame = JFrame.getFrames()[ii];
    System.out.println("INS"+frame.getName());
    }
    ho notato che ci sono + frame aperti del previsto

    il metodo dispose sembra non funzionare perchè il frame viene sempre elencato dal precedente codice.

    quindi, come si distrugge REALMENTE un jframe?
    E' tutta colpa di Berlusconi !
    Help [Ciclico] Fisco, domande varie

    Avatar

  4. #4
    Esiste un metodo specifico della classe JFrame che ti permette di impostare l'operazione da effettuare alla chiusura della finestra, ovvero al click sulla X.

    codice:
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    In questo modo al click sulla X verrà terminata l'applicazione, tu xò puoi scegliere altrimenti se fare il DISPOSE, l'HIDE, ecc.
    S-RDZN

    J2EE programmer

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.