# MouseClicked funktioniert nicht



## raven (21. Aug 2004)

Die MousClicked Medtode und auch die anderen Mouse Methoden funktionieren nicht.

Wenn ich irgend wo auf dem Bildschirm klicke ist meine Mausposition immer null.

Kann mir irgen einer von euch sagen wie ich das wegbekomme das der mir die richtige Mouseposition ausgibt.


----------



## Anubis (21. Aug 2004)

Mache das am besten so:

```
class ... extends Applet {
  .
  .
  .
 public void init() {
    .
    .
    .
    addMouseListener(new MouseAdapter() {
      public void mouseClicked(MouseEvent e) {
         .
         .
         .
      }
    });
  }

  .
  .
  .
 public static void main(String[] args) {
    .
    .
    .
  }
}
```

Die Punkte dienen als Auslassungszeichen. Das kannst du so lassen. Sonst aber ändern.


----------



## raven (21. Aug 2004)

seit wann kommt die MouseClicked Methode in die init rein ich mach die immer unter der paint.

hast du nicht vergessen ganz oben bei der klasse den MouseListener zu implementieren.


----------



## raven (21. Aug 2004)

Das was du mir da geschrieben hast kann ich bei mir nicht einbauen.
Der meldet mir ein haufen Fehler.


----------



## Anubis (21. Aug 2004)

Die mouseClicked Methode sitzt nicht inder init Methode. Der Mouselistener wird dann implementeirt, wenn er auch eigefügt wird. (Ist vom Tippaufwand her einfacher. Wenn die init Methode aufgerufen wird, wird ein MouseListener hinzugefügt, der bei dem obigen Code von Zeile 9 (ab new MouseAdapter ) bis Zeile 15 implementiert wird. 

Warscheinlich kommen die Fehler durch die Punkte. Der Text unter meienm Code ist ein wenig missverständlich. Also Wenn du die Punkte mit reingeschrieben hast, raus damit, die sollten nämlich nur den restlichen Code repräsentieren.


----------



## raven (21. Aug 2004)

ne  die Punkte waren von anfang an nicht drinne deswegen waren die Fehler nicht da bin ich mir ganz sicher.


----------



## Anubis (21. Aug 2004)

Könnten auch tippfehler sein. (Möglicherweise auch von mir).

Wenn eine Fehlermeldung "Cannot resolve Symbol" hrist, dann kann javac etwas nicht finden. Ursache: Meistens Falsch getippt, oder es handelt sich um eine Klasse, die nicht importiert ist.

Poste am besten einfach mal die Fehlermeldungen.


----------



## raven (21. Aug 2004)

Hab die 2 Fehler schon beseitigt doch funktioniert das immer noch nicht das mit der MousePosition der gibt immmer noch null aus.


----------



## raven (21. Aug 2004)

So jetzt ist die Mausposition nicht mehr 0.

Aber ich habe sie mir per String oben ausgegeben.
Ich muss das applet jedemal nach unten scrollen mit sich der String aktualisiert und die neu Mausposition dasteht ich habe aber eine run Medtode und habe oben bei der klasse auch runnable implementiert.

Woran könnte das wieder liegen


----------



## Anubis (21. Aug 2004)

Ich verstehe deinen Satz unten sprachlich nicht wirklich. Kannst du es wenig besser ausdrücken, was du meinst?


----------



## raven (21. Aug 2004)

Das ist nicht mehr das Problem was ich davor hatte.

Weißt du wie man die Mausempfindlichkeit verbessern kann.

wenn ich irgenwo auf dem Bildschirm klicke muss ich eine weile warten bis er mir meine aktuelle Mausposition ausgibt.


----------



## Beni (21. Aug 2004)

Ruf mal "repaint" auf.


----------



## raven (21. Aug 2004)

soll ich repaint dort aufrufen wo ich die Mausposition ausgeben lasse oder wo ich klicke.


----------



## Beni (21. Aug 2004)

Nachdem die Mausposition gelesen ist, dort, wo du sie ausgiebst. Damit die Ausgabe mit den neuen Informationen neu gezeichnet wird.


----------



## raven (21. Aug 2004)

wird trotzdem nicht besser.


----------



## raven (21. Aug 2004)

Mit dem Mausklick will ich eigentlich erreichen das wenn ich auf eine Bild klicke das eine bestimmter text ausgegeben wird.
Blos das macht den eben nicht. überzeugt eich selber dass ist die if Abrage mit der ich abfrage ob der Mausklick auf dem Bild ist.

x = X Position des Mausklicks
y = Y Position des Mausklicks

X = X Position des Bildes
Y = Y Position des Bildes


```
if(x<X+14 && x>X && y>Y && y<Y+14)
{
	g.drawString("Mein text",100,200);
}
```

Das wollte ich mit dem Mausklick bewirken


----------



## raven (21. Aug 2004)

Problem ist gelöst


----------

