Just nu i M3-nätverket
Jump to content

Metod åtkomst


www.essential.se

Recommended Posts

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.

Link to comment
Share on other sites

-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

 

Link to comment
Share on other sites

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?

 

Link to comment
Share on other sites

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)?

 

 

Link to comment
Share on other sites

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 {}

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...