Hallo,
ich möchte auf ein JLabel (in dem ein Image ist) mit der Maus ein "Auswahlfenster" zeichnen können, wie man es aus vielen Anwendungen kennt: wenn man die Maus hält und über das Label fährt sieht man z.B. ein Rechteck mit dünnen Linien und erst wenn man loslässt wird das Rechteck fixiert.
Ich hab's zwar noch nicht implementiert aber ohne "interaktiv mitzeichnen" würde ich es in etwa so angehen:
Mouselistener der pressed Pixelposition merkt und dann bei released die paint Methode aufruft, die ich in etwa so überschreiben würde, dass ich ein Flag setzte wenn ich auch ein Rechteck gezeichnet haben möchte (also vom Mouselistener aus) - weil ich zeichne dieses Label auch öfters ohne Rechteck.
Nun meine Fragen:
1.) bin ich mit meiner Idee auf dem richtigen Weg, oder gibt es da bessere Ansätze?
2.) wie könnte ich eben dieses interaktive Zeichnen realisieren? Vom MouseListener aus bei pressed einen Mousemotionlistener adden, der dann dieses zeichnen auslöst und bei released, diesen wieder entfernt?
Danke für Anregungen,
beste Grüße
ich möchte auf ein JLabel (in dem ein Image ist) mit der Maus ein "Auswahlfenster" zeichnen können, wie man es aus vielen Anwendungen kennt: wenn man die Maus hält und über das Label fährt sieht man z.B. ein Rechteck mit dünnen Linien und erst wenn man loslässt wird das Rechteck fixiert.
Ich hab's zwar noch nicht implementiert aber ohne "interaktiv mitzeichnen" würde ich es in etwa so angehen:
Mouselistener der pressed Pixelposition merkt und dann bei released die paint Methode aufruft, die ich in etwa so überschreiben würde, dass ich ein Flag setzte wenn ich auch ein Rechteck gezeichnet haben möchte (also vom Mouselistener aus) - weil ich zeichne dieses Label auch öfters ohne Rechteck.
Nun meine Fragen:
1.) bin ich mit meiner Idee auf dem richtigen Weg, oder gibt es da bessere Ansätze?
2.) wie könnte ich eben dieses interaktive Zeichnen realisieren? Vom MouseListener aus bei pressed einen Mousemotionlistener adden, der dann dieses zeichnen auslöst und bei released, diesen wieder entfernt?
Danke für Anregungen,
beste Grüße