Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Problema repaint()

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    47

    Problema repaint()

    Ciao a tutti.
    Sto facendo un programma in java dove,dopo aver disegnato degli elementi, è possibile attivare un metodo che man mano li colora dal primo all'ultimo.
    Vorrei che il metodo colori un elemento,aspetti un paio di secondi e colori il successivo..così fino a che non sono tutti colorati.
    Il problema è che il programma fa repaint() solo a metodo ultimato..quindi con tutti gli elementi colorati.
    Se inserisco all'interno del ciclo (subito dopo aver chiamato repaint() ) un JoptionPane (per "forzare" lo stop del metodo) avviene il funzionamento che desideravo.
    Non riesco davvero a capire come fare.
    se volete che chiarisca qualche passaggio, chiedete pure..grazie in anticipo!!

  2. #2
    Utente di HTML.it L'avatar di progAnd
    Registrato dal
    Jan 2012
    Messaggi
    119
    L'esecuzione del metodo avviene all'interno del thread di gestione degli eventi; quando chiami repaint lui accoda la richiesta in fondo al thread, per questo la esegue solo alla fine del metodo. Il JOptionPane attende l'input dell'utente e quindi lascia libera la coda per eseguire il repaint. L'unico modo che hai per fare quello che vuoi è studiarti i Thread di Java e forse lo SwingWorker. Se sei al completo digiuno di questi, è meglio che prima trovi un testo per studiarteli od a vedere le linee di codice non ci capiresti un tubo e basta...

    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.