Buon giorno a tutti.
Sono un neofita di Java che, tuttavia, si sta muovendo rapidamente verso questo ottimo linguaggio ad oggetti.
Ho creato un piccolo programmino che mi scompone un testo separando i vari elementi ed inserendoli in un database SQLite.
Fin qui ci sono riuscito.
Ho, per completezza, voluto inserire una Jprogressbar durante la fase di riconiscimento del testo e smistamento nelle tabelle di SQL (giusto per far vedere all'utente che il sistema va avanti).
Studiandomi un po' il concetto di Thread sono riuscito a fare una barra che avanza correttamente con la percentuale calcolata al punto giusto.
Il problema è all'interno del Thread ho inserito parte del programma che analizza il testo.
E qui non mi piace: dato che il programma principale è scorporato dalla parte GUI vorrei avere un Thread che parte con l'avanzamento della barra e che questo sia sincronizzato con il ciclo del programma principale. In pratica il "value" della barra deve essere comunicato al Thread della barra stessa dal programma principale. Mi hanno consigliato di utilizzare i Custom Listener con il concetto di Interfaccia (utile per l'ereditarietà). Non riesco ad applicarlo...
E' da una settimana che provo
codice:public static class progress_barr_3 implements Runnable { int number_of_updating, number_of_updating2, bullet,counter2; public void run() { System.out.println("*****************sono entrato nel thread ); JProgressBar progressBar3 = new JProgressBar(); ...... CICLO DA SCORPORARE DAL THREAD DELLA JBARR for (counter2=0; counter2<NUMEROMAX; counter2++) { ..... istruzioni ....... progressBar3.setValue(counter2); } ................................................. } } **************nel programma richiamo il thread ****** progress_barr_3 rx = new progress_barr_3(); Thread t = new Thread(rx); t.start();