Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Barra di progresso

  1. #1

    Barra di progresso

    Salve a tutti.
    Ho due domande inerenti lo stesso argomento:
    Mettiamo caso io abbia un for grande, che durante l'esecuzione fermi l'interazione con il programma.
    1) Se voglio aggiungere una progress bar per indicare lo stato del for come potrei fare?

    Avevo pensato al multitasking, però ricordo che precedentemente utilizzavo un linguaggio di scripting che mi permetteva di ridisegnare una finestra durante il ciclo for inserendo il codice nello stesso, in questo modo potevo disegnare la barra di progresso e aggiornare la finestra.

    2) Qualcosa del genere in Java esiste?
    Forza Napoli!

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Ti basta creare un altro thread, nel for esegui il codice e nel thread metti un while(condizione) (condizione lo setti false alla fine del for) per settare il valore della progressbar

  4. #4
    Ho provato come dici, ma non va.
    Ho messo questo codice:
    codice:
    public static void main(String[] args) {
        int m = 10000;
        s = new ManagerTournament();
        Thread t = new Thread(new Runnable() {
            double va;
            @Override
            public void run() {
                while (i==m) {
                    va = i/m*100;
                    s.jsb.setValue((int) va);
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        });
        t.start();
        for (i=0; i<m; i++) {}
    }
    La classe con il main è la classe ProgressDemo, essa contiene la JFrame e la JProgressBar rispettivamente salvate nel riferimento jf e jsb.
    Sarà che sono principiante con i threads, ad ogni modo lo stato della barra o non cambia oppure viene mostrato subito al massimo. Ho anche provato a cambiare la lunghezza del for a 1000000 e altri valori, sempre gli stessi risultati.
    Grazie per l'aiuto.
    Ultima modifica di CaMpIoN; 02-12-2014 a 05:33
    Forza Napoli!

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.