Avatar billede yezbarh Nybegynder
12. september 2005 - 21:35 Der er 12 kommentarer og
2 løsninger

Når man har klikket skal den fører til en funktion.

Hejsa.
Hvis nu jeg har nogle mouseEvents også en:

public void matematik() {
System.out.println(".."); // find "x og y" som blev kørt forrigt.
}

Hvordan får jeg den så til at gå til metoden "matematik" udfra "mouseClicked" ??

public void mouseClicked(MouseEvent g) {
KALD TIL "MATEMATIK" HER!
}

Er ny indefor Java, så tag jer ikke af min metode "matematik"  - det var bare en test for at vise hvad jeg mener.

Men - på forhånd tak !o]
Avatar billede kalp Novice
12. september 2005 - 21:46 #1
matematik() ;
Avatar billede kalp Novice
12. september 2005 - 21:46 #2
public void mouseClicked(MouseEvent g) {
matematik() ;
}
Avatar billede yezbarh Nybegynder
12. september 2005 - 21:52 #3
Hvordan kan den så vide i matematik hvad x og y akserne var?
Og hvordan får jeg fx. x og y akserne frem?
Avatar billede kalp Novice
12. september 2005 - 21:55 #4
for museklikket?
Avatar billede yezbarh Nybegynder
12. september 2005 - 21:59 #5
Okay, nu er jeg ikke helt med.
I matematik, hvordan laver jeg så:
int noget = X_AKSEN_FRA_"MOUSECLICKED" / 2;

?
Avatar billede jakoba Nybegynder
12. september 2005 - 22:43 #6
prøv at kikke på klassen MouseEvent i din API, det skulle meget undre mig om ikke muses x og y koordinater ligger som variable eller get-metoder der.
Avatar billede jakoba Nybegynder
12. september 2005 - 22:47 #7
Yep, get-metoderne getX og getY

så din mouseclicked kunne være

public void mouseClicked(MouseEvent g) {
    matematik( g.getX(), g.getY() ) ;
}

mvh JakobA
Avatar billede yezbarh Nybegynder
12. september 2005 - 22:53 #8
Den siger den ikke kan finde variablen kordinat! - Det jo også rigtigt, for den skal jo vide hvad den skal fortælle "matematik();"!

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

public class matematikStykke extends Applet implements MouseListener {

public void matematik() {
System.out.println("k: "+kordinat);
System.out.println("k2: "+kordinatA);
    }
public void init() {
this.addMouseListener(this);
}
public void mouseClicked(MouseEvent g) {
Point kordinat = g.getPoint();
matematik();
}
public void mouseReleased(MouseEvent g) {
}
public void mousePressed(MouseEvent g) {
Point kordinatA = g.getPoint();
matematik();
}
public void mouseEntered(MouseEvent event) {}
public void mouseExited(MouseEvent event) {}
}
Avatar billede yezbarh Nybegynder
12. september 2005 - 23:03 #9
Og hvordan kalder jeg så kordinaterne i matematik? !-)
Avatar billede jakoba Nybegynder
12. september 2005 - 23:03 #10
du definerer variablen koordinat indeni metoden mouseClicked. matematik() metoden kan ikke se den

prøv
public class matematikStykke extends Applet implements MouseListener {
    Point koordinat;
    Point koordinatA;
    public void matematik() {
        System.out.println("k: "+kordinat);
        System.out.println("k2: "+kordinatA);
    }
    public void init() {
        this.addMouseListener(this);
    }
    public void mouseClicked(MouseEvent g) {
        kordinat = g.getPoint();
        matematik();
    }
    public void mouseReleased(MouseEvent g) {
    }
    public void mousePressed(MouseEvent g) {
        kordinatA = g.getPoint();
        matematik();
    }
    public void mouseEntered(MouseEvent event) {}
    public void mouseExited(MouseEvent event) {}
}

men sådan som matematik() metoden er skrevet skal BÅDE koordinat og koordinatA have modtaget en værdi før det duer dine mouseClicked og mousePressed metoder giver kun vædi til een af dem.

Og lob mig så ALDRIG mere at poste kode uden korrekte indrykninger.

mvh JakobA
Avatar billede yezbarh Nybegynder
12. september 2005 - 23:12 #11
Okay, tak!
Hvordan fjerner jeg sådan der ikke står noget foran men bare selve X og Y akserne.?

HAr lige prøvet:

public void mouseClicked(MouseEvent g) {
matematik( g.getX(), g.getY() ) ;
}

Men så kommer fejl-meddelsen:
matematik() in matematikStykke cannot be applied to(int,int)!

- Hvad gør vi?

Forresten smid svar!
Avatar billede jakoba Nybegynder
12. september 2005 - 23:32 #12
De parametre du giver en metode skal svare til di parametre den metode er defineret med
public void mouseClicked(MouseEvent g) {
    matematik( g.getX(), g.getY() ) ;
}
her kader di ved 2 int parametre og så skal metoden matamatik være defineret til at have 2 int parametre
fx:
    public void matematik( int x, int y) {
        System.out.println("x: "+x);
        System.out.println("y: "+y);
    }

hvis du laver den ændring skal du så sørge for at alle andre kald til metoden også giver den 2 int parametre.

mvh JakobA
Avatar billede jakoba Nybegynder
12. september 2005 - 23:37 #13
PS: det jeg nok ville gøre er at give den den der mousevent som parameter

    public void matematik( MouseEvent g ) {
        System.out.println( "x: "+g.getX() );
        System.out.println( "y: "+g.getY() );
    }
for så kan du bare tage det hvis du senere finder ud af der er noget andet i den MouseEvent du har brug for.

mouseClicked skulle så være:
public void mouseClicked(MouseEvent g) {
    matematik( g ) ;
}
Avatar billede yezbarh Nybegynder
12. september 2005 - 23:41 #14
Ah, mange tak for hjælpen!
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