Fehler in der Anleitung

Anfänger2011

Bekanntes Mitglied
Hallo liebes Java-Forum. :)

Das ist die Aufgabe:
Wir sollen für die Schule nach einer Anleitung vom Lehrer in einem JApllet einen Kreis zeichen. Wenn ein Klick im Applet registriert wird, soll der Kreis die farbe ändern.

Tja klingt eigentlich ganz einfach ... der Hacken dabei ist, dass ihm nicht eine Variante reicht, sonder es müssen fünf verschiedene sein.

Naja und so fleißig wie ich bin mach ich die drei, die wir so eingefallen sind selbst. Diese decken sich im nachhinein zumindest vom Prinzip mit der Anleitung. Die anderen beiden bin ich dann zum Verständnis durchgegangen. (mehrfach)

Doch leider lässt sich das ganze nicht einmal kompilieren.
Das lässt mich ein bischen an seiner Kompetenz zweifeln, aber das nur am Rande.

Das ganze Besteht aus den folgenden drei Klassen:

Java:
import java.awt.*;
import javax.swing.*;

public class MouseDemo1 extends JApplet
{
    
 public Circle circle;
 
 public void init()
 {
 JRootPane rootPane = this.getRootPane();
 rootPane.putClientProperty("defeatSystemEventQueueCheck",true);
 circle = new Circle(40, 40, 35);
 mouseEvent = new MouseEvent ();
 addMouseListener(mouseEvent);
 }
 
 public void paint(Graphics g)
 {
 Rectangle r = getBounds();
 g.clearRect(r.x, r.y, r.width, r.height);
 circle.paint(g);
 }

}

Java:
import java.awt.event.*;
public class MouseEvent extends MouseAdapter
{

    
    public void mousePressed(MouseEvent e){
        MouseDemo1 md1;
        md1 = (MouseDemo1) e.getComponent();
        md1.circle.changeColor(md1.getGraphics());
    }
    
}

Java:
import java.awt.*;
public class Circle
{
     private int r;
     private int x, y;
     private Color color;
    
     
     public Circle(int x, int y, int r)
     {
     this.x = x;
     this.y = y;
     this.r = r;
     color = Color.red;
     }
    
     public void paint(Graphics g)
     {
     g.setColor(color);
     g.fillOval(x-r, y-r, 2*r, 2*r);
     }
    
     
     public void changeColor(Graphics gr)
     {
     
     if (color == Color.red){
         color = Color.blue;
    }
     else{
         color = Color.red;
    }
     paint(gr); 
    }

Es liegt an der Klasse MouseEvent in Zeile 9 -> getGraphics .

Es wäre echt super wenn mal jemand einen Blick drauf werfen würden, denn ich bin da montan echt ratlos. Achja und schonmal VIELEN VIELEN DANK für eure Hilfe.

LG :)
 

Flown

Administrator
Mitarbeiter
Lösung bitte posten und beschreiben, damit auch Leute, die ein ähnliches Problem aufweisen, geholfen wird.
 

Neue Themen


Oben