Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    32

    Window closing

    Ciao a tutti, ho un piccolo problemino.
    Ho fatto un'applicazione java con un Jframe. L'utente inserisce delle stringhe e al momento della chiusura, se non ha salvato gli chiedo se vuole salvare: praticamente nel metodo windowclosing apro il pannello con la scelta. Il problema sorge quando l'utente clicca o Cancel oppure la x del pannellino di richiesta ed intuitivamente il programma non si dovrebbe chiudere.solo che essendo in windowclosing quando termina il metodo chiude tutto. ci dovrebbe essere un modo per "abortire" l'evento di chiusura della finestra...ma non so come si faccia
    C'è qualcuno che ha capito cosa ho scritto e che sa darmi un aiutino?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Window closing

    Originariamente inviato da capri81
    Ciao a tutti, ho un piccolo problemino.
    Ho fatto un'applicazione java con un Jframe. L'utente inserisce delle stringhe e al momento della chiusura, se non ha salvato gli chiedo se vuole salvare: praticamente nel metodo windowclosing apro il pannello con la scelta. Il problema sorge quando l'utente clicca o Cancel oppure la x del pannellino di richiesta ed intuitivamente il programma non si dovrebbe chiudere.solo che essendo in windowclosing quando termina il metodo chiude tutto. ci dovrebbe essere un modo per "abortire" l'evento di chiusura della finestra...ma non so come si faccia
    C'è qualcuno che ha capito cosa ho scritto e che sa darmi un aiutino?
    Se ho capito bene, vuoi che il frame si possa chiudere solo in determinate condizioni.

    Io avevo fatto questo sorgente di prova:
    codice:
    import java.awt.event.WindowEvent;
    import java.awt.event.WindowAdapter;
    import javax.swing.*;
    
    public class FrameTestWarning extends JFrame
    {
        public FrameTestWarning ()
        {
            super ("Frame Test");
    
            setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);
            setSize (300, 300);
    
            addWindowListener (new CloseWarning ());
        }
    
        public static void main (String[] args)
        {
            FrameTestWarning f = new FrameTestWarning ();
            f.setVisible (true);
        }
    
        private class CloseWarning extends WindowAdapter
        {
            public void windowClosing (WindowEvent e)
            {
                int ret = JOptionPane.showConfirmDialog (FrameTestWarning.this, "Close window?",
                                                         "Frame Test", JOptionPane.YES_NO_OPTION);
    
                if (ret == JOptionPane.YES_OPTION)
                    System.exit (0);
            }
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.