Rechteck Zeichnen

patrick1982l

Grünschnabel
Ich möchte gerne ein Rechteck zeichnen welches wieder unterteilt ist in n kleinere Rechtecke. Es soll dann möglich sein, dass wenn man die Maus über eines dieser Felder bewegt und dieses dann in einer anderen Farbe angezeigt wird. Wenn man dann mit der Maus auf dieses Feld klickt soll sich ein Dialogfenster öffnen. Bitte um eure Hilfe
 
Hallo,

kein Problem. Zeig uns mal deinen Ansatz und wir sagen dir / versuchen dir zu sagen,
wo deine Programmierfehler oder -probleme liegen und oder dein(e) Denkfehler.
Beim Posten von Code bitte Codetags verwenden!

Grüße
 
Ich möchte gerne ein Rechteck zeichnen welches wieder unterteilt ist in n kleinere Rechtecke. Es soll dann möglich sein, dass wenn man die Maus über eines dieser Felder bewegt und dieses dann in einer anderen Farbe angezeigt wird. Wenn man dann mit der Maus auf dieses Feld klickt soll sich ein Dialogfenster öffnen. Bitte um eure Hilfe

Ich finde das mit den Rechtecken klingt ein wenig umständlich, muss das so sein? Wenn nicht würde ich eher zu JButtons/JLabels oder ähnlichem raten...

Ansonsten gibt es 2 Listener, die dir helfen müssten. Diese sind:

MouseListener - für den Klick
und
MouseMotionListener - für die Mausbewegung

Soweit ich weiß kann man auch statt den 2 Listenern den MouseInputListener verwenden.

Nachteil: Ein MouseMotionListener ist nicht immer umbedingt empfehlenswert, da das Event für die Mausbewegung sehr oft ausgelöst wird. Und die Auswertung, welches der Rechtecke betroffen ist, hat vermutlich einen recht großen Umfang.

Hier ein Vorschlag für die Vorgehensweise mit Labels:

1. du fügst jedem deiner Labels nur den MouseListener hinzu
2. du überschreibst die Methoden mouseEntered, mouseExited und mousePressed/mouseClicked/mouseReleased
3. du wertest die Quelle aus, von dem das Event ausgelöst wurde (getSource)...
4. ...und änderst dementsprechend die Farbe vom "aktiven" Label bzw. öffnest den Dialog

Vorteil: Auswertung ist recht kurz und simple
 
Zuletzt bearbeitet:
Zurück