Java proces bar - laguje
Ahoj, v jave se pokouším o proces bar.
Mám čísla od 0 do 100, které vypisuji při operaci(export do videa) do konzole, vše je funkční.
Místo do konzole jsem se pokusil vypsat číslo do procesbaru:
Procesbar.setValue(cislo);
Jde o to, že se do proces baru nic nevypisuje, a až doběhne operace(export do videa) naskočí 100%, nevíte někdo jak na to? Chce to něco zvláštního?
Nepomôže progressbar ?
Na to jsem samozřejmě koukal, ale nic ,,zvláštního,, tam nedělá..
a threaduješ?
Nevím co to znamená, takže asi ne, jednoduše řečeno.
Kód vypadá ,,v podstatě,, takhle (představme si pomalý pc):
Zkoušel jsem i:
A nic..
Jednoduše řečeno, thread - je jako další vlákno, co by to updatovalo.
http://www.java2s.com/Tutorial/Java/0280__SWT/Usin gThreadtoupdateProgressBarvalue.htm - něco takového. Nemam kompilátor v javě, abych to mohl ověřit - každopádně aby se to nekouslo to imho budeš muset poslat do threadu /nezávislý běh / což znamená napsat někde implements Runnable či extends Thread.
Nevim jak to vysvětlit, ale třebas tyhle dvě metody:
a();
b();
Až doběhne a, pak teprve muže běžet b(); (v tvém případě CELÝ FOR a pak teprve muže běžet něco jako REPAINT).
Verze threadu udělá
Vlakno a = new Vlakno("a");
Vlakno b = new Vlakno("b");
a.start();
b.start();
Že b nečeká až skončí a, ale běží vedle/paralelně. V češtině o tom tady: 16.html
Další věc:
mužeš zavolat thread.sleep();
V tomhle:
for(int i = 0; i < 100; i++){
Procesbar.setValue(i);
Procesbar.repaint();
}
Nemužeš vidět nic - pač tam nemáš někde sleep, a teoreticky to muže proběhnout pod schopnosti člověka vidět, že se to hejbe
Chápu co jsi mi tím chtěl říct, pokusím se s tím poprat.
Dík