Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Listener per JFrame

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315

    Listener per JFrame

    Salve,
    su di un JFrame, ho la seguente istruzione
    codice:
    setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
    Il mio obiettivo è quello di associare un'azione, un listener al frame, in modo che quando un utente chiudi la finestra io possa controllare se ha modificato qualcosa.

    Come posso fare?
    Saluti e grazie

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

    Re: Listener per JFrame

    Originariamente inviato da koala81
    Il mio obiettivo è quello di associare un'azione, un listener al frame, in modo che quando un utente chiudi la finestra io possa controllare se ha modificato qualcosa.

    Come posso fare?
    Imposti il default close operation a DO_NOTHING_ON_CLOSE e registri un WindowListener, nel windowClosing() fai il test che vuoi e se devi chiudere: dispose() o il System.exit() o quello che vuoi a seconda di cosa deve fare.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315
    Ho provato ma non funziona...

    Scrivo quello che ho fatto, magari ho scritto male...

    La classe implementa il WindowListener
    codice:
    ...
    public class MyClass extends javax.swing.JInternalFrame implements WindowListener {
    ...
    e nel metodo
    codice:
    public void windowClosing(WindowEvent e) {
    ...
    }
    faccio il mio test...

    Non riesco però ad aggiungere al frame il windowListener, un'istruzIone tipo
    codice:
    this.addWindowListener(this);

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da koala81
    La classe implementa il WindowListener
    codice:
    public class MyClass extends javax.swing.JInternalFrame implements WindowListener {
    No alt!!! Tu prima parlavi di JFrame ma qui vedo JInternalFrame. Sono due cose diverse. Anche per JInternalFrame c'è un setDefaultCloseOperation() ma il listener da registrare è InternalFrameListener, non WindowListener (dovrebbe darti errore perchè non c'è un addWindowListener()!!!).

    (e JInternalFrame si usa generalmente con JDesktopPane ... non da solo!)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    315
    I'm sorry!!!
    Hai perfettamente ragione...

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.