DerKoenig Geschrieben 10. Februar 2010 Geschrieben 10. Februar 2010 Hey Leute, ich möchte den Mausklick auf einem JLABEL/JPANEL registrieren. Kann das mit dem Mauslistener/MouseMotionListener, aber geht es auch sauber? Also direkt in einer Verbindung zur Komponente? Zitieren
kingofbrain Geschrieben 10. Februar 2010 Geschrieben 10. Februar 2010 Sauber? Einmal mit dem Lappen über den Monitor, dann ist es sauber. Was meinst Du damit? Was hast Du und was möchtest Du? Wo ist auf diesem Weg Dein Problem? Schöne Grüße, Peter Zitieren
DerKoenig Geschrieben 10. Februar 2010 Autor Geschrieben 10. Februar 2010 Naja die Sache ist, es ist eine bestehende Oberfläche, auf der manche Labels sich auch überlappen.... Sprich wenn ich das nun mit einen eigenen Alghorythmus mache stell ich mir das nicht so einfach vor Damit man sich das mal vorstellen kann wie es aussehen kann: ___________ |....................|________ |....................|................| |__________|................| ................|___________| Zitieren
kingofbrain Geschrieben 10. Februar 2010 Geschrieben 10. Februar 2010 Sprich wenn ich das nun mit einen eigenen Alghorythmus mache stell ich mir das nicht so einfach vor Versuch mal, Dir vorzustellen, Du liest Deine zwei Beiträge hier und weißt von Deinem Problem *nichts*. Würdest Du verstehen, was gemeint ist? Ich nicht. Also: wenn Du *was* mit einem eigenen Algorithmus machst, was stellst Du Dir dann nicht so einfach vor? Bis jetzt weiß ich nur, dass Du Panels und / oder Labels hast, und auf denen wird mit der Maus geklickt. Den Rest musst Du noch liefern. Peter Zitieren
Schmitze87 Geschrieben 11. Februar 2010 Geschrieben 11. Februar 2010 Könnte es evtl. sein, dass du ein Panel machen möchtest und da einfach mal so "wild durcheinander" Labels drauf setzen möchtest, die sich im schlimmsten fall auch überlappen? Könnte es weiter sein, dass du einen MausListener an dem Panel registrieren möchtest, der alle klicks auf dem Panel und damit auch auf den Labels und Buttons und was auch immer, auffängt. Wenn dem so ist wie ich mir das gerade vorstelle, nehme ich auch mal an, dass du in der onClick Methode z.B. über die Pixel-Koordinate prüfen möchtest auf was du da gerade geklickt hast und dann die entsprechende Aktion ausführen möchtest?! Zitieren
kingofbrain Geschrieben 11. Februar 2010 Geschrieben 11. Februar 2010 Wenn es so ist, wie Schmitze meint, dann kannst Du ja einfach aus dem Event die source ermitteln und hast das Objekt, auf das geklickt wurde. Aber vielleicht liest der OP gerade noch seinen Eingangspost und versucht, nachzuvollziehen, was er gemeint hat. Peter Zitieren
Schmitze87 Geschrieben 11. Februar 2010 Geschrieben 11. Februar 2010 Wenn du dir bei der von mir beschriebenen Konstellation einfach die Quelle des Event geben lässt, könnte es sein, dass du immer nur das Panel zurück bekommt, das der Listener ja an diesem dran hängt und nicht an den Labeln. Musst du halt einfach ausprobieren. Schlimmstenfalls müsstest du hier wirklich mit der Pixelkoordinate arbeite. Aber auch hier gibt es Methoden, die einem die Komponente zurück geben, die als oberstes an diesem Pixel liegt Zitieren
Jobe2009 Geschrieben 11. Februar 2010 Geschrieben 11. Februar 2010 Oder man hängt an jede Komponente (Component) einen eigenen MouseListener/MouseAdapter (oder den gleichen, da wiederum Abfrage von welcher Komponente das Event kommt) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.