Avatar billede skovborg Nybegynder
30. maj 2000 - 21:53 Der er 10 kommentarer og
1 løsning

MouseEvent jeg kan ikke finde ud af det ØV ØV

Hej
jeg sidder her og er ved at koge af raseri. Er der en flink sjæl der kan vise mig hvordan man får MouseEvent til at virke. Det jeg gerne vi er at lave en applet der skriver positionen på musen.

med venlig hilsen
Morten
Avatar billede philiph Nybegynder
30. maj 2000 - 22:09 #1
I din klasse implementer du MouseMotionListener, og overrider metoden:

public void mouseMoved(MouseEvent e)
{
  // do something
}

Se iøvrigt Java tutorial filen: MouseMotionEventDemo.java for et fuldt funktionelt men simpelt eksempel.
Avatar billede skovborg Nybegynder
30. maj 2000 - 22:21 #2
Hej philiph
jeg har prøvet det her er den skodkode jeg slider med :
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;

public class Class1 extends java.applet.Applet implements MouseMotionListener//Runnable //
{
    int x;
    int y;
    int taller;
    Graphics g;
   
    public Class1(){
        addMouseListener(new MouseAdapter(){
   
        public void mousePressed(MouseEvent evt){}
        public void mouseReleased(MouseEvent evt){}
        public void mouseEntered(MouseEvent evt){}
        public void mouseExited(MouseEvent evt){}
        public void mouseClicked(MouseEvent evt){}
        });
        taller=1000;
        }

    public void mouseMoved(MouseEvent evt){
            x=evt.getX();
            y=evt.getY();
            Graphics g=getGraphics();
            paint(g);       
        }
    public void mouseDragged(MouseEvent evt){
            x=evt.getX();
            y=evt.getY();
            Graphics gp=getGraphics();
            gp.drawString("Du bevæger musen",x,y);
            gp.dispose();
        }
   
    public int get_x(){
            return x;
    }
    public int get_y(){
            return y;
    }
    public void tegn(){
            paint(g);
    }
    public void paint(Graphics g){
        g.drawLine(get_x(),get_y(),
                  100,10);
        g.drawString(""+get_x()+" "+get_y(),100,100);
    }
   
}
Avatar billede el_gnu Nybegynder
30. maj 2000 - 22:48 #3
Prøv at lave en init metode der ser sådan her ud:

public void init() {
  addMouseMotionListener(this);
}

ellers bliver din mouseDragged og mouseMoved aldrig kaldt!

(-: el Gnu
Avatar billede gnarf Nybegynder
31. maj 2000 - 11:41 #4
Du skal sørge for at tilføje en MouseMotionListener, med metoden "addMouseMotionListener()"

Tilføj derfor linien:
this.addMouseMotionListener(this);
i din constructor.
Og drop din addMouseListener, hvis du ikke skal bruge den til noget.

Det du har gjort er et tilføje en MouseListener i stedet for en MouseMotionListener.
Avatar billede el_gnu Nybegynder
31. maj 2000 - 11:58 #5
Sådan gnarf plain'n'simple

det var vist også det jeg prøvede at sige, men på knap så godt danmark'sk

(-: el Gnu
Avatar billede skovborg Nybegynder
31. maj 2000 - 12:05 #6
HUUUUUURRRRRAAAAAAA DET VIRKER JEG ER LYKKELIG
Avatar billede stigc Nybegynder
01. juni 2000 - 21:47 #7
ligger du ikke lige den koder der virker, så vi andre kan se den.
Avatar billede stigc Nybegynder
02. juni 2000 - 00:36 #8
Jeg har nemlig problemer med følgende:

Hvad er forskellen på:

mouseClicked
mousePressed

Og

mouseExited bruges vel når musen forlader appleten?
Avatar billede el_gnu Nybegynder
02. juni 2000 - 03:37 #9
mouseClicked er når musen er trykket og sluppet det samme sted

mousePressed er når musen bliver trykket ned

(-: el Gnu
Avatar billede skovborg Nybegynder
02. juni 2000 - 13:37 #10
Jeg ligger koden ind tile så snart jeg kommer hjem men det er altså først i morgen Lørdag

vi ses
Skovborg
Avatar billede skovborg Nybegynder
06. juni 2000 - 23:08 #11
Her er den så skodkoden der ikke er en skodkode mere.
Tak for Hjælpen
Skovborg

import java.awt.Graphics;
import java.awt.event.*;
import java.awt.Color;
import javax.swing.*;
import javax.swing.JApplet;

public class Class1 extends javax.swing.JApplet implements MouseMotionListener
{   
    Graphics g;   
    public void init(){
        setBackground(Color.black);
        this.addMouseMotionListener(this);
    }

   
    public void mouseMoved(MouseEvent evt){
        Graphics gp=getGraphics();
        gp.setColor(Color.black);
        gp.fillRect(5,5,100,20);
        gp.setColor(Color.yellow);
        gp.drawString("X = "+evt.getX()+" Y = "+evt.getY(),15,15);
        gp.dispose();
       
    }
    public void mouseDragged(MouseEvent evt){}
   
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester