in.close(); return page.toString(); } catch (MalformedURLException e) { e.printStackTrace(System.out); return "Der er en fejl i adressen : " + str; } catch (IOException e) { e.printStackTrace(System.out); return "Der er en fejl i adressen : " + str; } }
--------------------------------------------------------- Hvordan gør man dette rigtigt? Min jProgressBar tæller ganske rigtig op....Men den viser først hvor meget idet at al data er loadet ind???
Jeg er ikke så meget interresseret i funktionen med at dividere mængden af data med længden på min jProgressBar, Det jeg gerne vil vide er hvordan man kan få den til at køre imens dataene loades ind....
Den udfører jo først handlingen når al data er loadet ind...????
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Din beregning (downloading) bruger den tråd der står for opdatering af gui'en. Jeg går du fra at der er en knap eller lign. der aktiveres og din metode kaldes. Du skal have en tråd der opdaterer din JProgressBar.
Definer en boolean stop i din klasse der bliver sat til false når ud er færdig med at læse filen. Opret en (f.eks.) int der angiver din værdi der viser hvor langt beregningen er nået. I dit eksempel er det variable tal. Denne skal dog defineres udenfor metoden i klassen, så den kan læses af indre klasser. Så gør følgende før din løkke der læser/beregner. new Thread( new Updater(jProgressBar1) ).start(); Den bruger den indre klasse Updater defineret her:
private class Updater implements Runnable { private JProgressBar bar; public Updater(JProgressBar bar ) { this.bar = bar; } public void run() { while ( ! stop ) { bar.setValue(tal); try {Thread.sleep(100);} catch (InterruptedException ie) {} } } }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.