Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 3 van 3

Onderwerp: MouseListener uitschakelen

  • Vraag is niet opgelost
  1. #1

    Question MouseListener uitschakelen

    Hallo allemaal,
    Ik heb een vraag over Java. Ik wil dat een stukje code na een vaste wachttijd wordt uitgevoerd, maar tijdens die wachttijd wil ik dat mijn MouseListener tijdelijk wordt uitgeschakeld.
    Wat ik nu heb is dat als ik klik tijdens de wachttijd, dat mijn MouseListener na die wachttijd wordt getriggered, maar ik wil dat die helemaal niet wordt getriggered in zo'n geval.
    Hieronder staat de code die ik hiervoor wil gebruiken. Weet iemand toevallig wat ik verkeerd doe? Is de hele opzet verkeerd, of zit de fout in een paar regels code?
    Code:
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    public class delaytest extends Applet implements MouseListener {
        int x, y;
        public  void init() {
            addMouseListener(this);
        }
        public void paint( Graphics g ) {
            g.drawOval(x, y, 20, 20);
            wacht();
        }
        public void wacht() {
            try {
                removeMouseListener(this);
                Thread.sleep(1000);
                //code die na wachttijd van 1 s moet worden uitgevoerd
                addMouseListener(this);
            }
            catch(InterruptedException ie) {}
        }
        
        public void mousePressed ( MouseEvent e ) {    
            x = e.getX();
            y = e.getY();
            repaint();
        }
        public void mouseReleased ( MouseEvent e ) {}
        public void mouseEntered ( MouseEvent e ) {}
        public void mouseExited ( MouseEvent e ) {}
        public void mouseClicked ( MouseEvent e ) {}
    }
    Alvast bedankt voor het helpen

  2. #2
    Giga Senior
    Geregistreerd
    6 juli 2010
    Locatie
    Eindhoven
    Afstand tot server
    ±91 km
    Ik ben geen java (SE) specialist, dus mogelijk heb ik een aantal zaken fout.

    Het niet hebben van een mouselistener maakt niet uit. De reden dat het wordt uitgesteld is de sleep. Als je alleen de SLEEP laat staan gebeurt er volgens mij hetzelfde.

    De mouselistener kun je uitbreiden met eigen functionaliteit, maar het verwijderd niet de basis functionaliteit. Wat je wel kan doen is een timer toevoegen en de mouseclicks weggooien als de timer loopt.

    Als je addmouselistener weglaat, veranderd er dan überhaupt iets aan de uitvoering?
    "Ik geloof niet in een limiet van mijn kunnen,
    wel van mijn kennis"

  3. #3
    Junior Member Rhythmic's avatar
    Geregistreerd
    21 februari 2012
    Locatie
    Noord-Brabant
    Als ik heel eerlijk mag zijn zou ik het gebruik van een thread in jou geval afraden.
    Het brengt meer risico's met zich mee dan je lief is, en je code lijkt het ook niet echt te vereisen.

    Afgezien daarvan kan je natuurlijk een simpele boolean switchen in plaats van je MouseListener weg te halen,
    en vervolgens elke keer weer toe te voegen. Alleen als wat je wil actief is zet je een boolean om (listenToMouse o.i.d.).
    Vervolgens check je in je (MousePressed?) of deze boolean is omgezet!

    Hopelijk kan je hier wat mee?
    Huidig Project: RPG met Java 2D (inc. Networking/MP/JDBC)

    Programmeertalen:
    Java, C++, C#, C, VB.NET, PHP
    Markup Language's:
    XML & HTML

Berichtenregels

  • U mag geen nieuwe discussies starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • Umag niet uw berichten bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Linkpartners
Aanbiedingen