Zdravím, nějaké listenery? Třeba se často používá fígl, že ten progress bar se neaktualizuje po každém záznamu, nýbrž např. při dozažení x záznamů kde x může být třeba 10 řádků nebo 5% nebo cokoli jiného. Představa o průběhu je a je to kompromis mezi rychlostí a informovaností uživatele.
Petr -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of [EMAIL PROTECTED] Sent: Wednesday, December 20, 2006 2:45 PM To: [email protected] Subject: Re: Excel logická chyba Mno nakonec jsem si to debugnul. a vraci to dobre .) akorat me prekvapilo ,ze je 2500 zaznamu nactenych behem vteriny. Kdyz jsem si to prvne pustil tak jsem samozrejme na JFramu mel jLabel5 a JLabel7, abych videl kterou hodnotu to zpracovava a zustala tam az ta posledni.)) Tak jsem tomu proste nechtel verit ,ze je to az tak rychli. jde mi samozrejme o ulozeni radku do toho ArrayListu. Jinak pokud to nasadim u zakaznika tak prece musim posilat informace o stavu procesu ne? tak bych rekl ze ten progressBar a ten Label je proste nutnej ? Jak to udelat jinak kdyz je ten muj kod "divokej". Zatim Petr Roubal On Tuesday 19 December 2006 15:40, [EMAIL PROTECTED] wrote: >> Hoj, >> chtěl jsem se zeptat jestli někdo neporadí. >> Používám JXL .) druhej den a mám někde logickou chybu nejspíš. >> následující definice datových prvků třídy: >> private Workbook workbook = null; >> private int pocetRadku; >> private List seznamRadku = null; >> >> >> kod na action_button >> >> try { >> workbook = Workbook.getWorkbook(new >> File(jTextField1.getText())); >> } catch (BiffException ex) { >> ex.printStackTrace(); >> } catch (IOException ex) { >> ex.printStackTrace(); >> } >> Sheet sheet = workbook.getSheet(0); >> pocetRadku = sheet.getRows(); >> jProgressBar1.setMaximum(pocetRadku); >> seznamRadku = new ArrayList(); >> for (int i = 0; i < pocetRadku; i++) { >> Cell[] cel = sheet.getRow(i); >> jProgressBar1.setValue(i); >> String str = new String(); >> str = str.valueOf(i); >> jLabel5.setText(str); >> // int pocetSloupcu = sheet.getColumns(); >> List radek = new ArrayList(); >> for (int j = 0; j < cel.length; j++) { >> radek.add(cel[j].getContents()); >> jLabel7.setText(cel[j].getContents()); >> } >> seznamRadku.add(radek); >> >> >> >> } >> workbook.close(); >> vrátí mě to jen poslední hodnotu z celýho xls... >> mám třeba 2576 záznamů a on mi vrátí správně že je poslední záznam 2576 >> a pak skočí na poslední hodnotu v řádku, a víc se nechce bavit. >> muj tip je, ze jsem zase blbe uzavorkoval ale jak do toho uz dlouho cumim >> tak uz to proste nevidim. >> Zatím Petr Roubal > >Vrati ti to jako jak? Myslis tim jlabel5 a jlabel7 (coz jsou mimochodem opravdu vserikajici nazvy promennych, ze ;-) )? > >Pokud ale chces mit vysledek v seznamRadku, pak to mas IMHO spravne (teda to plneni, asi), takze bych se spis podival tam, kde to pouzivas... Obcas pomuze si kod odtrasovat, abys videl, ze se opravdu pole plni tak, jak jsi chtel. > >Jinak bych si to byt tebou odtrasoval, je mozne, ze jsi nekde neco (workbook) nenainicializoval spravne, neznam JXL. > >Jinak samozrejme je ten kod opravdu hodne divoky. Napriklad nechapu, proc po kazdem prirazovacim prikazu plnis nejaky label. Prekresleni pak zabira vetsinu casu nutneho pro tento ukol. >-- Oto 'tapik' Buchta, [EMAIL PROTECTED] >http://www.buchtovi.cz > >______________________________________________________________________ >This email has been scanned by the MessageLabs Email Security System. >For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ > > >Konec: Konference Digest, Vol 25, Issue 18 >****************************************** >
