Visualizzazione dei risultati da 1 a 10 su 10

Hybrid View

  1. #1
    Alla fine poi, non è che ho capito bene bene il funzionamento di tal cosa, sono andato a tentativi fin quando non mi ha caricato per prima cosa la lucina e poi mandato l'email!

    codice:
    private void pnlsensoreMouseEntered(java.awt.event.MouseEvent evt) {                                        
            if(onof==true && tastiera.lblPassword.getText().equals("PASSWORD CORRETTA!")==true && firstTime == true)
            {
                lucine.lblRossoSpento.setIcon(new ImageIcon("."+File.separatorChar+"src"+File.separatorChar+"img"+File.separatorChar+"RossoAcceso.png"));
                firstTime = false;
                SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        Date data = new Date();
                        for(int i = j; i > j-50; i--){
                            BufferedImage image = webcam.getImage();
                            try {
                                ImageIO.write(image, "PNG", new File("."+File.separatorChar+"allarmi"+File.separatorChar+data.getDate()+"-"+(data.getMonth()+1)+"-"+(data.getYear()-100)+File.separatorChar+"Intruso"+i+".png"));
                            } catch (IOException ex) {
                                Logger.getLogger(CircuitoC.class.getName()).log(Level.SEVERE, null, ex);
                            }
                        }
                        invioMail.send();
                    }
                });
            }
        }

    Questo è il codice di adesso..
    Ultima modifica di LeleFT; 24-03-2014 a 12:43 Motivo: Inseriti tag CODE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da DonDony Visualizza il messaggio
    Alla fine poi, non è che ho capito bene bene il funzionamento di tal cosa, sono andato a tentativi fin quando non mi ha caricato per prima cosa la lucina e poi mandato l'email!
    Adesso l'unica cosa di diverso è che pnlsensoreMouseEntered completa praticamente immediatamente. Imposti la immagine RossoAcceso.png e poi invokeLater va a "parcheggiare" il Runnable nella coda degli eventi (il run() non viene eseguito subito!), quindi pnlsensoreMouseEntered termina subito e il controllo viene restituito al framework, che tra le prime cose che fa sicuramente va ad aggiornare la label della icona a video. Quindi solo in un secondo momento leggermente più avanti, viene eseguito il run() del tuo Runnable. Ma qui sta di fatto che tieni comunque "impegnato" il EDT per un tempo potenzialmente lungo. Ed è questo che, ti ripeto ancora una volta, non andrebbe bene (nulla di grave in sé ma la tua interfaccia utente è "congelata" in questo frangente di tempo).

    Per risolvere dovresti usare un thread apposito (con tutte le attenzioni che questo comporta).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Tag per questa discussione

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 © 2026 vBulletin Solutions, Inc. All rights reserved.