2011-11-06, 15:53
  #1
Medlem
Jag försökte implementera en JProgressBar för att visa för användaren hur långt denne har kommit i en loop där jag förminskar bilder.
Koden för att uppdatera JProgressBar:
Kod:
for(int i=0; i < files.length; i++) {
						String fileName = files[i].getName();
						int dotPos = fileName.lastIndexOf(".");
						String extension = fileName.substring(dotPos+1);
						
						if(!ResizeImage.createResizedCopy(files[i].getPath(), fileName, extension))
							allOk = false;
						
						// update progress
						float state = (float) ((i+1.0)/numFiles)*100;
						int newValue = Math.round(state);
						System.out.println(newValue);
						
						progress.setValue(newValue);
					}

Det som händer är att JProgressBar endast sätts från 0-100% när jag kör. skriver jag ut "newValue" så blir det rätt värden..
Citera
2011-11-06, 17:17
  #2
Medlem
kelebs avatar
Om jag minns rätt måste du uppdatera den container som du har din JProgressBar i för att förändringen ska synas på skärmen. Antagligen är det detta du gör vid 100% (alltså efter loopen) som gör att den syns då.
Citera
2011-11-06, 17:36
  #3
Medlem
Citat:
Ursprungligen postat av keleb
Om jag minns rätt måste du uppdatera den container som du har din JProgressBar i för att förändringen ska synas på skärmen. Antagligen är det detta du gör vid 100% (alltså efter loopen) som gör att den syns då.
Tack som ...! Det var precis det jag behövde göra. Awesome!
Testade med trådar å grejer som fanns i andra exempel men funkade inte så bra!
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in