Avatar billede mollevp Nybegynder
25. februar 2005 - 15:13 Der er 11 kommentarer og
1 løsning

Klasser, objekter, MIDlets og referencer?

Hej, vi er et par begyndere i Java med et par spørgsmål.. Vi er ved at udvikle en applikation til en mobiltelefon i J2ME, men er løbet ind i et par problemer...

I programmet har vi pt. fire forskellige klasser:

1. StartApplikation klasse - opretter objekter at de andere klasser
2. Bluetooth klasse
3. GUI klasse
4. RMS klasse

KODE i startApplikation:

        bluetooth = new ConnectionBT();
        gui = new SmartexGUI();
        profileStore = new ProfileRMS();
       
Nu kan vi kalde alle metoder osv. fra klassen startApplikation, men hvordan kan vi få adgang til f.eks gui objektet fra bluetooth klassen... ?? Kunne forstille mig vi på en eller anden måde skal sende en referance til objektet til det andet objekt - eller??

Alt hjælp har interesse.. hvis der er uklarheder - så spørg endlig løs :)

MVH Morten
Avatar billede kalp Novice
25. februar 2005 - 15:15 #1
I skal i bluetooth klassens kontruktør gøre plads til en parameter af typen GUI:)
Avatar billede kalp Novice
25. februar 2005 - 15:17 #2
GUI ref;

public class Bluetooth(parameter1, parameter2, GUI gui)
{
ref = gui;
}

hvis det kan gøre det tydeligere:)
Avatar billede kalp Novice
25. februar 2005 - 15:23 #3
I behøver jo sådan set ikke gøre det i konstruktøren.. i kan også lave en metode hvis nu det kun skal anvendes på et bestemt tidspunkt.. Men ellers er dine tanker omkring det da rigtige nok.. at medsende en reference til det:)
Avatar billede mollevp Nybegynder
25. februar 2005 - 15:26 #4
ok... det var jo rimeligt ligetil - det prøver jeg lige...
Avatar billede mollevp Nybegynder
25. februar 2005 - 15:45 #5
Hep jeg har nu:

public class StartSmartexApp extends MIDlet {
   
    private ConnectionBT bluetooth;
   
    private SmartexGUI gui;
   
    private ProfileRMS profileStore;
   
    /** Creates a new instance of StartSmartexApp */
    public StartSmartexApp() {}
   
    public void startApp()
    {
        gui = new SmartexGUI();
       
        bluetooth = new ConnectionBT(gui);
       
        profileStore = new ProfileRMS();
       
   
    }
   
    public void pauseApp() {}
   
    public void destroyApp(boolean unconditional) {}
   
}


I ConnectionBT har jeg:




package smartex;

import smartex.SmartexGUI;

public class ConnectionBT {
   
    private SmartexGUI guiref;
   
    /** Creates a new instance of ConnectionBT */
    public ConnectionBT(SmartexGUI gui) {
       
        guiref = gui;
       
        guiref.create_menu();
       
       
    }
   
}


Der findes burde jeg ikke have adgang til alle metoder i SmartexGUI nu?
Netbeans skriver "Cannot find symbol" til linjen:

guiref.create_menu();

Funktionen create_menu er eller erklæret public i SmartexGUI klassen - hvad gør jeg galt??

MVH Morten
Avatar billede kalp Novice
25. februar 2005 - 15:55 #6
jeg synes det ser rigtigt ud:/
Avatar billede mollevp Nybegynder
25. februar 2005 - 15:58 #7
Hov, det var vist bare mit netbeans der fuckede... det ser ud til at være fint nu..
Avatar billede kalp Novice
25. februar 2005 - 15:59 #8
fungere det så ? :)
Avatar billede mollevp Nybegynder
25. februar 2005 - 16:02 #9
det tror jeg (får ingen fejl)... skal lige have afprøvet det
Avatar billede kalp Novice
25. februar 2005 - 16:12 #10
Det bare i orden... ligger da et svar hvis det fungere:)
Avatar billede mollevp Nybegynder
26. februar 2005 - 21:44 #11
Det var bare 10-4 kalp.. tak for de hurtige svar :)
Avatar billede kalp Novice
27. februar 2005 - 00:30 #12
Det er jeg glad for:) du glemte bare at markere mit navn da du trykkede accepter:)
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