Just nu i M3-nätverket
Gå till innehåll

Metod åtkomst


www.essential.se

Rekommendera Poster

www.essential.se

Hej!

 

Jag håller på med en liten applikation där jag beöver anropa en metod i en annan klass.

 

Jag har min main, som skapar en frame, som visar två paneler. Från den ena panelen vill jag anropa en metod i den andra, men av någon underlig anledning fungerar det inte.

 

Tyvärr så beror det nog på att jag inte riktigt har förstått hur man gör. Jag har deklarerat metoden som public, men hur skriver jag sen för att anropa den?

 

Metoden ser ut så här:

public void setFigure(int f) {

figure = f;

}

 

figure är en private int i den klassen.

Länk till kommentar
Dela på andra webbplatser

-Patrik Johansson-

För att anropa en metod i ett annat objekt måste man ha namnreferensen.

Säg att jag har en klass vid namn Fanta och i den finns en metod vid namn Open.

Då får man skapa ett nytt objekt

Fanta flaska = new Fanta();

Då anropar jag metoden Open genom att skriva flaska.Open();

Förmodligen har du väl namnreferenserna till panelerna eller?

 

/Neox -(Patrik J)

”Gravitation can not be held responsible for people falling in love”
- citat av Albert Einstein

 

Länk till kommentar
Dela på andra webbplatser

www.essential.se

Vad jag tror är ett problem är att jag har en Frame som innehåller panelerna, och i Frame-klassen har jag namnreferenser till panelerna.

 

Vad händer om jag skapar ett objekt av panelen i den andra panelen?

 

Länk till kommentar
Dela på andra webbplatser

Inget av det spelar någon roll, det som spelar roll är att du har någonting som du kan säga "setFigure" till.

 

Vad får du för fel?

Vad försöker du göra (du har bara visat hur metoden du inte lyckas ropa på ser ut, inte hur koden där du misslyckas med att ropa ser ut)?

 

 

Länk till kommentar
Dela på andra webbplatser

www.essential.se

Alltså, jag försökte göra setFigure(1); men det gick inte, så försökte jag göra en ButtonPanel.setFigure(1); också, men det fungerar ju bara om setFigure är static, och det vill jag inte.

 

Kan jag alltså göra en

ButtonPanel objButtonPanel = new ButtonPanel();

objButtonPanel.setFigure(1);

 

Hänvisar inte den till en egen instans av ButtonPanel då? Jag vill att den ska hänvisa till den instans som jag gjorde i min public class Frame {}

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...