Zum Inhalt springen

Eventlistener auf JLABEL / JPANEL


Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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:

___________

|....................|________

|....................|................|

|__________|................|

................|___________|

Geschrieben
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

Geschrieben

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?! ;)

Geschrieben

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

Geschrieben

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 ;)

Geschrieben

Oder man hängt an jede Komponente (Component) einen eigenen MouseListener/MouseAdapter (oder den gleichen, da wiederum Abfrage von welcher Komponente das Event kommt)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...