Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: evento dentro evento

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396

    evento dentro evento

    Ciao, ho un event listner con il relativo actionPerformed relativo alla bottone che viene premuto.
    codice:
     private void jButton12ActionPerformed(java.awt.event.ActionEvent evt) {                                          
    
            if(i==0){
            del.setVisible(true);
            i=1;
            //QUI VOGLIO RICHIAMARE LO STESSO EVENTO
            }
            if(del.getElimina()){
    
            jLabel13.setText("-");
            String g=jLabel6.getText();
            double f = Double.parseDouble(g);
            double r = f-1.50;
            String t = Double.toString(r);
            jLabel6.setText(t);
            jButton12.setVisible(false);
            jButton2.setEnabled(true);
            jButton4.setEnabled(true);
            }
        }
    Posso richiamare l'evento dentro l'evento stesso?

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

    Re: evento dentro evento

    Originariamente inviato da Salinas
    Posso richiamare l'evento dentro l'evento stesso?
    Primo: spiega il motivo. Secondo: cosa vorresti fare? Invocare direttamente il metodo sé stesso?

    Quel jButton12ActionPerformed è poi un comune metodo privato .... non è quello "vero" del listener. ....il solito IDE che genera codice "surplus" a mio avviso inutile.
    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
    Jun 2008
    Messaggi
    396
    Quel jButton12ActionPerformed è poi un comune metodo privato .... non è quello "vero" del listener. ....il solito IDE che genera codice "surplus" a mio avviso inutile.
    Si è un metodo che implementa separatamente quello che deve fare il bottone una volta premuto. Più sopra viene solo impostato il listner e il performed.
    codice:
    jButton12.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton12ActionPerformed(evt);
                }
            });
    voglio che quando venga premuto il bottone esso possa, da solo, dare il comando di ripremersi.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Salinas
    voglio che quando venga premuto il bottone esso possa, da solo, dare il comando di ripremersi.
    jButton12.doClick();

    E se non sbaglio, l'evento viene dispacciato subito, mentre sei ancora nel actionPerformed. Quindi dovresti fare in modo da evitare di andare in loop.
    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
    Feb 2009
    Messaggi
    502
    @Andbin: nel suo codice pone a invisibile l'oggetto del, e a quanto sembra è l'unica cosa che cambia quando c'è la seconda pressio dello stesso pulsante.
    Se dopo aver fatto setVisible(boolean) venisse richiamato il metodo validate sul container di del, si avrebbe lo stesso effetto? Cioè le modifica di visibilità sarebbe impostata correttamente e il flusso di esecuzione procederebbe normalmente, oppure la richiesta di validazione verrebbe fatta quando ritenuto opportuno dalla JVM?
    al volante son nervoso

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    jButton12.doClick();

    E se non sbaglio, l'evento viene dispacciato subito, mentre sei ancora nel actionPerformed. Quindi dovresti fare in modo da evitare di andare in loop.
    No funziona, ci avevo già provato io.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502
    Se il listener per il JButton è stato registrato, il motodo doClick() deve scatenare l'evento.
    Prova a fare delle stampe di debug.
    al volante son nervoso

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    396
    il debug non da errori.
    Credo sia registrato correttamente, altrimenti non si avvierebbero neanche le prime operazioni sopra il doClick().

    Il doClick() non lo esegue, mentre se ripremo il pulsante effettua le operazioni dopo l'if.
    Il problema è che io non voglio dover ripremere il pulsante...

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    502
    Originariamente inviato da Salinas
    il debug non da errori.
    Credo sia registrato correttamente, altrimenti non si avvierebbero neanche le prime operazioni sopra il doClick().

    Il doClick() non lo esegue, mentre se ripremo il pulsante effettua le operazioni dopo l'if.
    Il problema è che io non voglio dover ripremere il pulsante...
    A me il doClick() funziona.
    Ci sarà qualcosa nel tuo codice che non va, ma io non lo posso sapere.
    al volante son nervoso

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.