Emsal Skrevet 23. februar 2014 Del Skrevet 23. februar 2014 Har lest forskjellige forklaringer på hvordan jeg skal lese en tekstfil og legge elementene til en JList. Får uansett problemer. public void åpneFil() { try { FileReader f = new FileReader("navn"); BufferedReader br = new BufferedReader(f); String linje = br.readLine(); while (linje!=null) { linje = br.readLine(); listeModelTing.addElement(linje); } br.close(); f.close(); vareListe.setModel(listeModelTing); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } kommer en rød linje under addElemente, men ser ikke ut som noen andre har samme problemet. Tekstfila ser noenlunde slik ut [Eple-50.0 NOK, Banan-60.0 NOK] Det er slik JListen blir lagret. Lenke til kommentar
Driiper Skrevet 24. februar 2014 Del Skrevet 24. februar 2014 Hei, Om jeg husker riktig beskriver oppgaven at du må implementere Serializable på din Vareklasse, når dette er gjort kan du skrive hele klassen til Disk. Om du også da skriver List Modellen din til disk med ObjectOutputStream kan du lett hente denne inn igjen med ObjectInputStream. Du må da huske og caste denne når du henter inn igjen. Vil forøvrig anbefale deg å bruke labtimene på Onsdag, Torsdag eller Fredag Lenke til kommentar
Emsal Skrevet 24. februar 2014 Forfatter Del Skrevet 24. februar 2014 (endret) Jeg er ikke så fan av øvingstimene siden jeg liker å tygge på tingene selv uten å få de inn med t-skje. Hadde jeg hatt tid til å prøve godt nok for meg selv først og så gått på øvingstimene hadde det vært greit. Har forøvrig gjort det du sa i innlegget ditt. Problemet kommer når jeg skal lagre variablene i klassen. Gjør jeg den global da lagres kun det siste jeg skrev inn. Si at jeg skriver at en vare "navn" koster "penger", legger jeg til en annen vare blir den første varen jeg skrev lik som den nye varen. Dette kan jeg fikse med å ikke gjøre variabelen til klassen global, men da kan jeg ikke hente den ut og bruke den til å lagre klassen. EDIT: Har prøvd å gjøre dette listeModelTing.addElement(varer = new Varer()); Første varen jeg skriver inn blir "null" uansett, og jeg får ikke lest den eller lagret den. Dette her fungerte for meg varer = new Varer(); listeModelTing.addElement(varer); Men når jeg skal lagre varen eller lese den faller den første varen jeg skriver ut. Altså den blir ikke lest/lagret. Har fått det til nå. Problemet mitt var at jeg lagret klassen. Hvis jeg bare lagrer DefaultListModel og åpner den funker det fett, istedenfor å lagre klassen. Endret 24. februar 2014 av Emsal Lenke til kommentar
Driiper Skrevet 25. februar 2014 Del Skrevet 25. februar 2014 Bra at du fikk det til Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå