Avatar billede chr.kj Nybegynder
20. december 2007 - 01:40 Der er 4 kommentarer og
1 løsning

Hvordan indlæser jeg min fil når jeg starter min GUI op?

Har et problem med at finde ud af hvordan jeg indlæse en fil jeg har serialiseret når jeg starter et ny GUI vindue op.

P.t. benytter jeg en kanp i min GUI som indlæse filen, men det ville være noget mere smart hvis filen blev indlæst når min GUI blev startet op.

P.t. ser min knap sådan ud til at åbne et nyt GUI vindue op:

    private void jButtonOpretVareActionPerformed(java.awt.event.ActionEvent evt) {                                               
// TODO add your handling code here:
        new VareAdmin().setVisible(true);
    } 

Knappen jeg bruger til at hente min fil ind ser sådan ud:

    private void jButtonHentActionPerformed(java.awt.event.ActionEvent evt) {                                           
               
       
       
        try
        {
            GemOgHent get = new GemOgHent();
            lageret = (Lager) get.hent( "lokaler.dat" );
            jListOversigt.setListData( lageret.getVarer().toArray() );           
           
        }
        catch( Exception error )
        {
            jTextFieldOplysningsFelt.setText( "Listen kunne ikke hentes " + error.toString() );
        }
           
    }

Hvordan og kan det lade sig gøre at indlæse filen ved opstart af ny GUI???
Avatar billede di8leva Nybegynder
20. december 2007 - 11:51 #1
Det nemmeste er vel at starte med at flyte koden til en separat funktion.
Så kalder du bare metoden fra noget sted hvor du skaper dit GUI.

    private void jButtonHentActionPerformed(java.awt.event.ActionEvent evt) {                                         
        openSavedFile();
    }
             
     
    private void openSavedFile() { 
        try
        {
            GemOgHent get = new GemOgHent();
            lageret = (Lager) get.hent( "lokaler.dat" );
            jListOversigt.setListData( lageret.getVarer().toArray() );         
         
        }
        catch( Exception error )
        {
            jTextFieldOplysningsFelt.setText( "Listen kunne ikke hentes " + error.toString() );
        }
    }
Avatar billede di8leva Nybegynder
20. december 2007 - 11:52 #2
og så skal du kalde "openSavedFile();" fra noget andet sted også... f.eks hvor du skaper dit view
Avatar billede di8leva Nybegynder
20. december 2007 - 11:53 #3
du kan ju kalde metoden fra VareAdmin()  (din constructor)
Avatar billede chr.kj Nybegynder
20. december 2007 - 12:12 #4
Tak for svaret.

Ok.. Lad mig lige se om jeg har forstået det korrekt.

Jeg skal flytte min funktion til en ny klasse - Er det det du mener? eller skal jeg beholde min metode hvor den er nu, dog med den rettelse du har vist herover?

Når jeg kalder min GUI med:

new VareAdmin().setVisible(true);

skal jeg indflette openSavedFile(); i den linie??
Avatar billede chr.kj Nybegynder
18. januar 2008 - 13:33 #5
Lukker
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