Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [JAVA] aggiornare immagini bottoni in tempo reale

    ho un problema...
    praticamente ho una funzione in java che dovrebbe cambiare le immagini a 5 bottoni dopo un Thread.sleep di 500ms di distanza l'uno dall'altro il problema è che la funzione cambia le immagini al termine della stessa e questo non va bene.

    qui c'e il codice della funzione

    codice:
    tcarte.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) {
          int time = 500;
          try { Thread.sleep(time); }
          catch (InterruptedException ie) { ie.printStackTrace(); }
          t1.setIcon(new ImageIcon(cambiaImg(man,1)));
    
          try { Thread.sleep(time); }
          catch (InterruptedException ie) { ie.printStackTrace(); }
          t2.setIcon(new ImageIcon(cambiaImg(man,2)));
    
          try { Thread.sleep(time); }
          catch (InterruptedException ie) { ie.printStackTrace(); }
          t3.setIcon(new ImageIcon(cambiaImg(man,3)));
    
          try { Thread.sleep(time); }
          catch (InterruptedException ie) { ie.printStackTrace(); }
          t4.setIcon(new ImageIcon(cambiaImg(man,4)));
    
          try { Thread.sleep(time); }
          catch (InterruptedException ie) { ie.printStackTrace(); }
          t5.setIcon(new ImageIcon(cambiaImg(man,5)));
    }
    grazie in anticipo...

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Non puoi farlo nell''EDT (Event Dispatch Thread), devi lanciare un thread a parte.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3

    Moderazione

    Le discussioni relative a Java non sono trattate qui, ma nell'apposita sottosezione.

    Provvedo a spostare il thread.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Originariamente inviato da Alex'87
    Non puoi farlo nell''EDT (Event Dispatch Thread), devi lanciare un thread a parte.

    Grazie per la risposta ma come potri fare per creare un nuovo thread?

  5. #5
    Quello che serve a te è un Timer, qui trovi la documentazione relativa.

    Ciao

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.