Avatar billede jannek_ek Nybegynder
26. august 2005 - 17:33 Der er 19 kommentarer og
1 løsning

fejl i et lyt til musen program

hvad går der galt her???:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class lytTilMusen extends Applet
{
  public Point punkt;
 
  public lytTilMusen()
  {
    muselytter lytter = new muselytter();
    lytter.felt = this;
    this.addMouseListener(lytter);
  }
 
  public void paint(Graphics g)
  {
    g.setBackground(Color.grey);
    g.setForground(Color.black);
    g.fillArc(punkt.x, punkt.y, 5, 0, 360);
  }
}

og:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class muselytter implements MouseListener
{
  public muselytter felt;

  public void mousePressed(MouseEvent me)
  {
    felt.punkt = me.getPoint();
    felt.repaint();
  }
  public void mouseReleased(MouseEvent me)
  {}
  public void mouseClicked(MouseEvent me)
  {}
  public void mouseEntered(MouseEvent me)
  {}
  public void mouseExited(MouseEvent me)
  {}
}



bugs:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class muselytter implements MouseListener
{
  public muselytter felt;

  public void mousePressed(MouseEvent me)
  {
    felt.punkt = me.getPoint();
    felt.repaint();
  }
  public void mouseReleased(MouseEvent me)
  {}
  public void mouseClicked(MouseEvent me)
  {}
  public void mouseEntered(MouseEvent me)
  {}
  public void mouseExited(MouseEvent me)
  {}
}
Avatar billede jannek_ek Nybegynder
26. august 2005 - 17:39 #1
nej hov der er fejl med bugsne, men den klager over bla.
this (cannot resolve symbol)
^
g.alle_tegnekomponenterne (cannot resolve symbol)
^

felt.begge_ting (cannot resolve symbol)
    ^
Avatar billede jannek_ek Nybegynder
26. august 2005 - 17:40 #2
nej sådan:
g.alle_tegnekomponenterne (cannot resolve symbol)
^
Avatar billede jannek_ek Nybegynder
26. august 2005 - 17:40 #3
nå den vil ikke ha mellemrum inden ^ men det er der
Avatar billede kalp Novice
26. august 2005 - 17:45 #4
Hvad jeg lige kan se gemmer du bla. en lytTilMusen objekt i en muselytter variabel.
Avatar billede jannek_ek Nybegynder
26. august 2005 - 17:50 #5
jeg er ikke nået så langt i java, så du må meget gerne uddybe :D
Avatar billede kalp Novice
26. august 2005 - 17:55 #6
I din klasse "Muselytter"

Har du denne linje

public muselytter felt;

I din klasse "lytTilMusen"

Har du denne linje

lytter.felt = this;

Dvs. du prøver at gemme en lytTilMusen klasse i din variabel.

Kan du se det? der er lidt andre ting også.. men en ting af gangen.
Avatar billede jannek_ek Nybegynder
26. august 2005 - 18:02 #7
hmm det er underligt, jeg laver det ud fra en anden opgave, i en javabog, og der gør de det samme
Avatar billede jannek_ek Nybegynder
26. august 2005 - 18:04 #8
public Linjetegning()
  {
    Linjelytter lytter = new Linjelytter();
    lytter.appletten = this; // initialiserer lytterens reference til appletten
    this.addMouseListener(lytter);
  }

direkte kopi fra bogen
Avatar billede kalp Novice
26. august 2005 - 18:07 #9
okay, men som jeg læser det ud fra dine klasser ser det altså sådan ud:)

men okay kan være det bare er mig som overser noget.
Avatar billede jannek_ek Nybegynder
26. august 2005 - 18:13 #10
http://javabog.dk/OOP/kapitel13.jsp
det er 13,2 jeg laver mit program ud fra
Avatar billede kalp Novice
26. august 2005 - 18:34 #11
Mig som overser noget.. men i hvertfald ser det da ud til at du blander 2 eksempler sammen fra den side af.
Avatar billede kalp Novice
26. august 2005 - 18:34 #12
import java.awt.*;
import java.awt.event.*;

public class Muselytter implements MouseListener
{
  public void mousePressed(MouseEvent hændelse)  // kræves af MouseListener
  {
    Point trykpunkt = hændelse.getPoint();
    System.out.println("Mus trykket ned i "+trykpunkt);
  }

  public void mouseReleased(MouseEvent hændelse)  // kræves af MouseListener
  {
    Point slippunkt = hændelse.getPoint();
    System.out.println("Mus sluppet i "+slippunkt);
  }

  public void mouseClicked(MouseEvent hændelse)  // kræves af MouseListener
  {
    System.out.println("Mus klikket i "+hændelse.getPoint());
  }

  //--------------------------------------------------------------------
  //  Ubrugte hændelser (skal defineres for at implementere MouseListener)
  //--------------------------------------------------------------------
  public void mouseEntered (MouseEvent event) {}  // kræves af MouseListener
  public void mouseExited (MouseEvent event) {}  // kræves af MouseListener
}




import java.applet.*;
public class LytTilMusen extends Applet
{
  public LytTilMusen()
  {
    Muselytter lytter = new Muselytter();
    this.addMouseListener(lytter);  // this er appletten selv
  }
}


hører til det eksempel du afprøver.
Avatar billede jannek_ek Nybegynder
26. august 2005 - 18:39 #13
nej jeg laver ikke et eksempel, jeg laver et program hvor jeg bruger eksempel 13,2 til at se det fra. jeg lavede først eksempel 13,1 det er derfor classesne ikke har skiftet navn, men jeg arbejder kun med 13,2 nu
Avatar billede kalp Novice
26. august 2005 - 18:45 #14
tror du skal ændre

public muselytter felt;

til

public lytTilMusen felt;

altså


import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class muselytter implements MouseListener
{
  public lytTilMusen felt;

  public void mousePressed(MouseEvent me)
  {
    felt.punkt = me.getPoint();
    felt.repaint();
  }
  public void mouseReleased(MouseEvent me)
  {}
  public void mouseClicked(MouseEvent me)
  {}
  public void mouseEntered(MouseEvent me)
  {}
  public void mouseExited(MouseEvent me)
  {}
}
Avatar billede jakoba Nybegynder
27. august 2005 - 08:57 #15
Din klasse 'lytTilMusen' er en extension af klassen 'Applet'

og Applet er essentielt en statisk klasse, den bliver ikke automatisk instantieret. Den bliver blot loadet og aktiveret.

og ordet 'this' har ingen mening i sådan en klasse. For at this kan betyde noget må du have skabt en instans af klassen med 
    lytTilMusen vnavn = new lytTilMusen(...);

mvh JakobA
Avatar billede jannek_ek Nybegynder
27. august 2005 - 14:36 #16
nu har jeg rettet til public lytTilMusen felt; men den klager satadig over alle grafics komponentern

og beklager, men jeg forstår ikke helt hvordan det skal fikses det der med this
Avatar billede jannek_ek Nybegynder
30. august 2005 - 17:39 #17
så har jeg fået det sidste til at virke, der var nogle fejl i graffic komponenterne, men de er fikset nu, så kalp kom med et svar.
Avatar billede kalp Novice
30. august 2005 - 20:14 #18
Det får du her:)
Avatar billede jannek_ek Nybegynder
30. august 2005 - 20:47 #19
så sir jeg mange tak for hjælpen
Avatar billede kalp Novice
30. august 2005 - 21:47 #20
Selv tak :))
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