non-static variable this cannot be referenced from a static

Odpowiedz Nowy wątek
2006-02-27 12:46
0

oto fragment kodu

JMenuItem wczytaj = new JMenuItem("Wczytaj Plan");
plik.add(wczytaj);
wczytaj.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent zdarzenie)
{
String plan = JOptionPane.showInputDialog("Podaj plik");
panel_JPanel.rysuj_Plan(plan);
repaint();

  }
 });

dodaje anonimowego sluchacza do jednego z menu, ktory ma wywolac metode z panelu :

public static void rysuj_Plan(String sciezka)
{
obraz = Toolkit.getDefaultToolkit().getImage(sciezka);
MediaTracker trop = new MediaTracker(this);
trop.addImage(obraz, 0);
try {trop.waitForID(0);}
catch (InterruptedException exception) {}
}

otrzymuje bład : non-static variable this cannot be referenced from a static

co jest przyczyna i jak sie tego pozbyc ?

z góry dziekuje, pozdrawiam

Pozostało 580 znaków

2006-02-27 14:19
0

Nie mozesz w metodzie statycznej uzywac slowa this, bo nie istnieje w tym momencie zaden obiekt - metoda static jest potencjalnie wywolywana dla klasy, nie obiektu.

Oczywiscie jak sie chcesz pozbyc, to najlatwiej nie robic tej metody jako statycznej.

pozdrawiam
johny


You need to learn how to walk
before you can run

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0