mousedown oder andere eventhandler in bluej

  • Themenstarter Themenstarter goody
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

goody

Gast
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

Code:
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();
    }
}
 
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.

Code:
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 😉
 
Code:
...
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)
        });
        ...
    }
...
 
sliwalker hat gesagt.:
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.

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
 
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]
 
sry hab den code vergessen
der sieht jetzt so aus

Code:
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
 
    }
}
 
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...
 
Code:
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
 
du hast die methode mousePressed() nicht implementiert.
und mouseDown() bringt dir nix.
 
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
 
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

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
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.
 
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....
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben