Archief - get mouseclick

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

onslieke

Legacy Member
Hey,

ik ben een programmatje aant het maken en ik zit met een probleem. In mijn programma moet ik w88 tot er 2 keer op de muis is geklikt. Ik weet niet hoe ik dit moet doen. Wat ik vind op het internet zijn alleen maar loops, maar dit is gn goede oplossing omdat mijn programma dan crasht... Wat ik nodig heb is de getchar uit c maar dan voor een muisklik ipv een char dat ingetypt wordt en dan in java.

Misschien iets heel simpel om mijn probleem wat beter uit te legge:

Code:
System.out.println("Hallo, klik maar 2x met je muis");
// hier w8 ik dan totdat er 2x op de muis is geklikt
System.out.println("Je hebt 2x op de muis geklikt");

wat ik vind op het internet

Code:
System.out.println("Hallo, klik maar 2x met je muis");
while(muisNogNiet2xGeklikt)
{
}
System.out.println("Je hebt 2x op de muis geklikt");

Men programma crasht dan bij de loop (ik vin da dan ook nogal logisch eigenlijk:p)

Mijn vraag is dus: hoe maak ik dat mijn programma w8 totdat er een keer op de muis geklikt wordt?

Parnakra

Legacy Member
Jij bepaalt toch nog steeds wat je programma doet? :s:s:s

Er zijn verschillende manieren waarop je die mouselistener kan gebruiken om enerzijds iets te doen als er 2 maal geklikt wordt of anderzijds alle activiteit op te schorten totdat er 2 maal geklikt is.

onslieke

Legacy Member
Dat is ni helemaal wa ik wou ma ik kan het zo wel een beetje forcere:D Ik had me 'w88' iets anders in gedachten:p

Code:
private int aantalKeerGeklikt=0;

private void Start()
{
System.out.println("Hallo, klik maar 2x met je muis");
}

men MouseListener met
{
     aantalKeerGeklikt++;
     if(aantalKeerGeklikt==2)
          printaf();
}

private void printaf()
{
System.out.println("Je hebt 2x op de muis geklikt");
}

works for me :) thanx :niceone:

Cycloon

Legacy Member
onslieke zei:
Dat is ni helemaal wa ik wou ma ik kan het zo wel een beetje forcere:D Ik had me 'w88' iets anders in gedachten:p

Wel dan had je fout gedacht, want hoe jij zat te denken was nogal slecht. Jij wou actief gaan wachten tot er 2 maal geklikt werd, je kan dat ook wel in orde krijgen door die wachtlus in een aparte thread te steken en mouseclicks op te vangen. Maar als groot nadeel daarbij heb je dat je programma constant 100% van je cpu gaat gebruiken terwijl die wacht, en dat is iets dat je niet wil :)

De manier hoe je het nu hebt opgelost is zowat de beste methode.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan