Avatar billede mhj28 Nybegynder
27. november 2003 - 23:35 Der er 6 kommentarer og
1 løsning

Problem med at fylde data i et JEditorPane

Jeg har lavet et program der via en søgning kan hente omkring 200-300 match frem, disse match resultere i 200-300 objekter, disse objekter laver jeg en html formatering på og samler dem i en lang string som jeg så putter i et JEditorPane… men midt problem er at hvis jeg har omkring 200 match tager det omkring 10min. før resultatet bliver vist på skærmen… ved i om der er et problem med at sende en mega lang string til et JEditorPane? og i så fald er der nogle andre måder hvorpå jeg kan få vist mine søgeresultater?

Programmet virker ellers fint hvis der ikke er så mange match…
Avatar billede carstenknudsen Nybegynder
28. november 2003 - 07:51 #1
Har du samme problem hvis du gemmer din html tekst i en fil og beder JEditorPane'n om at vise den? Hvis du laver mange strengoperationer af typen s+="..." er det meget ineffektivt, der skal man istedet benytte StringBuffer og dens append metode.
Avatar billede mhj28 Nybegynder
28. november 2003 - 10:28 #2
Ja jeg har prøvet at lave det om til en Stringbuffer nu og fik bragt tiden ned på 1min og 15sek. men det tager stadigvæk vildt langt tid fra jeg har opbygget stringen til den bliver vist i JEditorPane'en altså fra jeg siger
setText(String); til reslutatet bliver vist på skærmen, String'en er på ca 1Mbyte er der en hurtiger metode end setText eller hvad kan man gøre for at få vist dataene hurtiger???
Avatar billede _carsten Nybegynder
28. november 2003 - 13:19 #3
Prøv at bruge JEditorPane's read metode og læs direkte fra filen, det er væsentlig hurtigere end at bruge setText("");

    String fileName = "";

        try {
            java.io.Reader reader = new java.io.BufferedReader(
                                            new java.io.FileReader(new java.io.File(fileName)));
            MyJEditorPane.read(reader,"");
           
        }
        catch(java.io.FileNotFoundException f){
    }
        catch(java.io.IOException e){
        }
Avatar billede mhj28 Nybegynder
01. december 2003 - 10:43 #4
Ja det går pænt hurtiger med den read metode... men kan det virkelig være rigtigt at jeg skal søg i filerne først så formatere det til et html output så skrive det til en fil og så bruge den read metode til at læse fra denne fil... Hvorfor er det hurtiger at skrive og læse en fil, frem for bare at setText()??
jeg har fået tiden ned på 8sek. så det er næsten acceptabelt nu... kan det laves hurtiger?
Avatar billede mhj28 Nybegynder
13. december 2003 - 18:22 #5
Når men jeg har brugt carsten forslag så hvis du skriver et svar skal du få point'en
Avatar billede mhj28 Nybegynder
18. januar 2004 - 22:55 #6
Når carsten det er ved at være lukketid.... så hvis du ikke snart poster et svar kan jeg jo ikke give dig dine point....
Avatar billede _carsten Nybegynder
18. januar 2004 - 23:23 #7
Det må du undskylde - der er vist noget jeg har misset her !

Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester