Hallo,
vielleicht wird sich so eine ähnliche Nachricht nocheinmal finden. Ich habe gerade eine Fehlermeldung angezeigt gekriegt, weil ich angeblich zweimal auf "Abschicken" gedrückt habe. Die Nachricht ist aber gar nicht im Forum.
Das ist mein Problem
import ...;
public class Hauptklasse extends JFrame implements ActionListener
{
JButton UpdateButton;
MeinCanvas ZeichenCanvas;
// Konstruktor
Hauptklasse()
{
// Erzeugen von Komponenten, Hinzufügen von ActionListenern usw.
...
UpdateButton.addActionListener(this);
}
public void actionPerformed(ActionEvent ae)
{
Object quelle = ae.getSource();
if (ae == UpdateButton) ZeichenCanvas.repaint(); // Hier sitzt der Wurm
}
}
Hier ist die von Canvas abgeleitete Klasse MeinCanvas
import ...
public class MeinCanvas extends Canvas
{
// Konstruktor
...
// Überschreiben der paint()-Methode
// Andere, neue Methoden
}
Bis ich ZeichenCanvas.repaint() aufrufte, funktionierte alles wie ich es wollte [ausser einigen Problemen mit der Anordnung der Komponenten und den Menüs, wie man es dem vorigen Eintrag von mir entnehmen kann]. Der Compiler meldet mir: non-static method repaint() kann nicht von einem statischen Block nicht referenziert werden. Wie soll ich denn sonst das Canvas dazu veranlassen, nach der Betätigung meines JButtons die paint()-Methode bitte aufzurufen.
Dane schön für die vielen, zahlreichen und vor allem Informativen Antworten.
MfG Dmitri
[und jetzt kopiere ich den Text in die Zwischenablage]