Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418

    [JAVA] swing JDialog && JTextField

    Ciao a tutti, tramite una voce della JToolBar attivo una JDialog al cui interno ho una JTextField, una volta che inserisco un testo all'interno della JTextField, chiudo la JDialog, e la riapro vedo di nuovo il testo che ho inserito nella JTextField, perché?

    Come posso fare?


    ciao
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    La JTextField memorizza il valore della Stringa che deve visualizzare, dato che tu utilizzi sempre la stessa JDialog (e quindi la stessa JTextFiled) il comportamento e' corretto. Per ovviare alla cosa potresti registrare un ascoltatore di eventi sulla JDialog, che al momento di chiusura di essa imposta il contenuto della JTextField con un stringa vuota.
    Ciao,
    Lorenzo

  3. #3
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Originariamente inviato da lelefante
    Per ovviare alla cosa potresti registrare un ascoltatore di eventi sulla JDialog, che al momento di chiusura di essa imposta il contenuto della JTextField con un stringa vuota.
    ah ho capito e come posso fare?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    Ma perche non usi JOptionPane invece che creare te una JDialog...

    Cmq:

    myDialog.addWindowListener(new WinClose());

    public class WinClose implements WindowListener
    {
    public void windowActivated(WindowEvent e){}

    public void windowClosed(WindowEvent e){}

    public void windowClosing(WindowEvent e)
    {
    myTextField.setText("");
    }
    public void windowDeactivated(WindowEvent e){}

    public void windowDeiconified(WindowEvent e){}

    public void windowIconified(WindowEvent e){}

    public void windowOpened(WindowEvent e){}
    }



  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    Dovresti poter fare anche così:

    myDialog.addWindowAdapter(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    myTextField.setText("");
    }
    });

    In questo modo puoi inserire solo l'evento che ti interessa senza dover mettere tutti gli eventi della Dialog per poi lasciarne vuoti più della metà...



  6. #6
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Originariamente inviato da l.golinelli
    Dovresti poter fare anche così:

    myDialog.addWindowAdapter(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    myTextField.setText("");
    }
    });

    In questo modo puoi inserire solo l'evento che ti interessa senza dover mettere tutti gli eventi della Dialog per poi lasciarne vuoti più della metà...



    Mi da 1 errore:

    Test.java:275: cannot resolve symbol
    symbol : method addWindowAdapter (<anonymous java.awt.event.WindowAdapter>)
    location: class javax.swing.JDialog
    dialog.addWindowAdapter(new WindowAdapter()
    ^
    1 error

    Perché?
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    Forse JDialog non supporta WindowAdapter...

    Prova con addWindowListener

    Importa java.awt.event.*; :tongue:

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Perche' il metodo da utilizzare non e' addWindowAdapter, ma addWindowListener, che accetta come parametro un oggetto WindowListener. L'oggetto WindowAdapter implementa l'interfaccia WindowListener, la tua classe anonima estende questo oggetto, e quindi la puoi passare come parametro nel metodo addWindowListener.
    Ciao,
    Lorenzo

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    2,894
    Ah è vero!!!!


    myDialog.addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    myTextField.setText("");
    }
    });


    Ho pestato una Merda...

  10. #10
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    Originariamente inviato da l.golinelli
    Forse JDialog non supporta WindowAdapter...

    Prova con addWindowListener

    Importa java.awt.event.*; :tongue:
    e già e vero!
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

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.