# mousedown oder andere eventhandler in bluej



## goody (10. Nov 2005)

also wir machen in der schule atm java
wir haben jetzt gerade erst neue pc bekommen nur ein problem ist das unser altes programm mit dem wir programmiert haben (CodeWarrior) nun nicht mehr läuft und wir mit blueJ arbeiten müssen

bei codewarrior gab es für sachen wir das die maus gedrückt wird einfach vordefinierte funktionen
in bluej gibt es diese nicht mehr und ich kreigs einfach nicht gebacken so ne scheiße wie mousedown da einzubauen

unten steht einfach mal ein beispiel prog das immer unser "anfang" war für jede aufgabe
ich würde gerne wissen wie ich da die mousedown funktion reinbekomme

PS: ausserdem arbeiten wir mit stift und co


```
import sum.kern.*;
/**
 * @author 
 * @version 
 */
public class test2
{
    // Objekte
    Bildschirm derBildschirm;
    Stift meinStift;

    // Konstruktor
    public test2()
    {
        derBildschirm = new Bildschirm();
        meinStift = new Stift();
    }

    // Dienste
    public void fuehreAus()
    {
        // Aktionsteil
        meinStift.bewegeBis(100, 100);
        meinStift.schreibeText("Hallo Welt");
		
        // Aufraeumen
        meinStift.gibFrei();
        derBildschirm.gibFrei();
    }
}
```


----------



## sliwalker (11. Nov 2005)

Hoi,

habt ihr nie Code selbst geschrieben?
Nur angeklickt und die IDE macht den Rest? Hmm...egal.

Du musst nur dazu schreiben was Du haben möchtest. Und das an den richtigen Stellen  Dazu muss man natürlich ein wenig diese Sprache können.


```
import sum.kern.*; 
/** 
* @author 
* @version 
*/ 
public class test2 implements MouseListener
{ 
    // Objekte 
    Bildschirm derBildschirm; 
    Stift meinStift; 

    // Konstruktor 
    public test2() 
    { 
        derBildschirm = new Bildschirm(); 
        meinStift = new Stift(); 
    } 

    // Dienste 
    public void fuehreAus() 
    { 
        // Aktionsteil 
        meinStift.bewegeBis(100, 100); 
        meinStift.schreibeText("Hallo Welt"); 
       
        // Aufraeumen 
        meinStift.gibFrei(); 
        derBildschirm.gibFrei(); 
    } 

    public void mousePressed(MouseEvent event)
    {
         machwas...();
    }
}
```

Wenn Du Mouselistener implementierts, muss Du noch andere Methoden in Deine Klasse schreiben, die einfach mit drin sein müssen, weil Du MouseListener implementierts.
Aber da guck mal in die API welche das sind


----------



## André Uhres (11. Nov 2005)

```
...
import java.awt.event.*;
...
    // Konstruktor
    public test2() {
        derBildschirm = new Bildschirm();
        derBildschirm.addMouseListener(
                new MouseAdapter(){   //MouseAdapter implementiert MouseListener
            public void mousePressed(MouseEvent e){
                ...
            }
            //hier kannst du andere mouseMethoden einfügen, 
            //du musst aber nicht (Vorteil vom Adapter)
        });
        ...
    }
...
```


----------



## Guest (11. Nov 2005)

sliwalker hat gesagt.:
			
		

> Hoi,
> 
> habt ihr nie Code selbst geschrieben?
> Nur angeklickt und die IDE macht den Rest? Hmm...egal.
> ...



also in der schule haben wir immer so ne vorlage gehabt vom CodeWarrior
wir haben halt (noch) nie wirklich eigene klassen und so weote selbst geschrieben
nur bestimmte sachen reingeschrieben die passieren sollen

das mit dem implementieren hab ich bis jetzt im internet noch nirgends gesehen oder mir ist es noch nirgends aufgefallen
mal gucken ob ich es jetzt hinbekomme

danke schön

mfg


----------



## Guest (11. Nov 2005)

ich bekomme jetzt nur leider folgende fehlermeldung


> aufg1 is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener



[/code]


----------



## Guest (11. Nov 2005)

sry hab den code vergessen
der sieht jetzt so aus


```
import java.awt.event.*;
import sum.kern.*;
import java.awt.*;
/**
 * @author 
 * @version 
 */
public class aufg1 implements MouseListener
{
    // Objekte
    Bildschirm derBildschirm;
    Stift meinStift;

    // Konstruktor
    public aufg1()
    {
        derBildschirm = new Bildschirm();
        meinStift = new Stift();
        this.addMouseListener(this);
    }
    
    public boolean mouseDown(MouseEvent event) {
        mein.Stift.bewegeBis(100,100);
        meinStift.schreibeText("hallo");
        return true;
    }

    // Dienste
    public void fuehreAus()
    {
        // Aktionsteil
        meinStift.bewegeBis(100, 100);
        meinStift.schreibeText("Hallo Welt");
		
        // Aufraeumen
 
    }
}
```


----------



## Roar (11. Nov 2005)

du musst alle methoden die hier angegeben sind implementieren: http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseListener.html die methode die du suchst heißt mousePressed


----------



## André Uhres (11. Nov 2005)

Du musst alle Methoden implementieren die im Interface "MouseListener" stehen (siehe dort).
"mouseDown" ist jedenfalls keine davon.
Oder, im Falle eines "MouseAdapter" brauchst du nur die Methode(n) zu überschreiben die du
brauchst.

...ups! da war jemand schneller als ich. Ich muss nächstes mal mehr Tempo drauflegen...


----------



## Guest (11. Nov 2005)

```
import java.awt.event.*;
import sum.kern.*;
import java.awt.*;
/**
 * @author 
 * @version 
 */
public class aufg1 implements MouseListener
{
    // Objekte
    Bildschirm derBildschirm;
    Stift meinStift;

    // Konstruktor
    public aufg1()
    {
        derBildschirm = new Bildschirm();
        meinStift = new Stift();
        addMouseListener(this);
    }
    
    public void mouseDown(MouseEvent event) {
        meinStift.bewegeBis(100,100);
        meinStift.schreibeText("hallo");
    }
    
    public void mouseEntered(MouseEvent e) { }
    public void mouseExited(MouseEvent e) { }
    public void mouseClicked(MouseEvent e) { }
    public void mouseReleased(MouseEvent e) { }

    // Dienste
    public void fuehreAus()
    {
        // Aktionsteil
        meinStift.bewegeBis(100, 100);
        meinStift.schreibeText("Hallo Welt");
        
        // Aufraeumen
 
    }
}
```

also als ich mal alle anderen sachen mit eingefügt habe kommt immer noch die gleich fehlermeldung


----------



## Roar (11. Nov 2005)

du hast die methode mousePressed() nicht implementiert.
und mouseDown() bringt dir nix.


----------



## Guest (11. Nov 2005)

also soory jungs hab mich grad blöder angestellt als ich eigentlich bin

hab nich gesehen das ich statt mousePressed mouseDown geschrieben hab
war nur nen schreibfehler

jetzt sacht er mir 





> cannot find symbol - method addMouseListener(aufg1)



wenn ich noch irgendwelche dummen sachen dnrin hab sacht es beser direkt dann muss ich nich imma wida so doof nachfragen


----------



## André Uhres (12. Nov 2005)

Ich schlage vor, du lernst erst mal java.


----------



## Roar (12. Nov 2005)

Anonymous hat gesagt.:
			
		

> also soory jungs hab mich grad blöder angestellt als ich eigentlich bin
> 
> hab nich gesehen das ich statt mousePressed mouseDown geschrieben hab
> war nur nen schreibfehler
> ...


sorry, deine blöde klasse Bildschirm unterstützt so eine funktionalität wohl nicht. ich kenn die library da auch nicht. frag deinen lehrer ob das mit der lib geht.


----------



## Guest (12. Nov 2005)

mkay schade
also das mit meinem lehrer kann ich wohl vergessen
denn ich glaub ich kann jetzt schon java besser als er wobei ich nicht wirklich behaupten möchte das ich es KANN....


----------

