Avatar billede chr.kj Nybegynder
25. november 2008 - 22:26 Der er 3 kommentarer og
1 løsning

Problemer med en metode og tilføjelse til en ArrayListe

Jeg er ved at lave en lille skole opgave, men er gået helt i stå.

Jeg har en klasse jeg har kaldt for Database. I den har jeg lavet en ArrayListe og en metode som gerne skulle smide tilføje et adresse objekt ind i ArrayListen når denne kaldes.

Min Database klasse ser sådan ud:

public class Database {
   
    //Her opretter vi vores ArrayListe
    ArrayList<Adresser> kontakt = new ArrayList<Adresser>();
   
    //Her laver vi metoden som gør, at vi kan tilføje en kontakt til vores ArrayList
    public void addKontakt( String navn, String adresse, int postnr, String by ) {       
       
        Adresser adr = new Adresser(navn, adresse, postnr, by);
        kontakt.add( adr );
    }
}

Jeg har så en JFrame hvor jeg har lavet en GUI.
I denne har jeg oprettet mine knapper, felter osv.

Denne ser sådan ud (uden Netbeans genereret kode):

ArrayList<Database> kontakt = new ArrayList<Database>();

HER ER NOGET NETBEANS KODE

private void jButtonGemActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:       
   
    String navn = jTextFieldNavn.getText();
    String adresse = jTextFieldAdresse.getText();
    int postnr = Integer.parseInt( jTextFieldBy.getText() );
    String by = jTextFieldBy.getText();
     
    kontakt.addKontakt(navn, adresse, postnr, by);
           
}

Mit problem består i, at netbeans ikke kan finde metoden addKontakt hvilket jeg ikke kan forstå hvorfor den ikke kan. Har jeg overset noget, eller hvad kan det skyldes?

På forhånd tak for hjælpen :)
Avatar billede erikjacobsen Ekspert
25. november 2008 - 22:30 #1
Jeg kan ikke se hvorfor du vil have en liste:
  ArrayList<Database> kontakt = new ArrayList<Database>();
Skal du ikke bare
  Database kontakt = new Database();
Avatar billede chr.kj Nybegynder
25. november 2008 - 22:41 #2
Hmm.. Det løste jo problemet.. :)

Lige for at se om jeg har forstået det korrekt.

I GUI'en skriver jeg Database kontakt = new Database(); for at få fat på den ArrayListe jeg allerede har oprettet i Database klassen - er det korrekt forstået?

Takker for hjælpen og smid et svar :)
Avatar billede erikjacobsen Ekspert
25. november 2008 - 22:47 #3
Jeg vil formulere det mere i retning af:

I GUI'en skriver jeg Database kontakt = new Database(); for at få fat i et objekt at typen "Datebase" (en dims af slagsen "Database").

Hvad den indeholder er så ligemeget --- 17 arraylists, 14 ints, 32 strings, whatever.

Men de public metoder kan tilgås, og det er den der bruges på "kontakt"-objektet.

Din arraylist kontakt inde i klassen Database bør erklæres private.

Jeg samler slet ikke på point, tak. Svar selv, accepter dit eget svar.
Avatar billede chr.kj Nybegynder
26. november 2008 - 20:01 #4
ok.. Takker for hjælpen og forklaringen Erik :)
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

IT-JOB