[JAVA] Teile in Bildern mit der Maus auswählen

Schani007

Ensign
Registriert
Dez. 2004
Beiträge
218
Hallo,

Ich habe folgendes Problem.
Ich will ein BIld, welches ich lade und Anzeige mit der Maus bearbeiten. Besser gesagt will ich Bereiche in dem Bild auswählen können und diese Speichern(also nur die Koordinaten).

Ich habe nun folgende Fragen, da ich nicht weiter komme. Wo zeige ich das Bild an, in einem JLable oder in einem JFrame?
Um das Bild zu editieren welches Format sollte es haben, IMAGE oder BUFFEREDIMAGE?

Vielen Dank für die ersten Tips!
 
Hi!

Also das Auslesen der Koordinanten kanns du bestimmt mit einem "MouseListener" erledigen. Die Anfnagskoordiante liest du aus, wenn der linke Knopf der Maus gedrückt wird, und die Endkoordinaten wenn der linke Knopf der Maus losgelassen wird. Da muss du dich auch mit den "MouseEvents" vertraucht machen. Der "MouseListener" hat normalerweise Funktionen um die "MouseEvents" aufzufangen, dann kannst du anhand von "mouseEvent.getX()" und "mouseEvent.getY()" (oder ähnlich) die Koordinaten einlesen.

Um das Bild anzuzeigen gibt es mehrere Möglichkeiten. Du kanns aber einen "JLabel" oder "Label" benutzen. Am Besten du benzutzt ein "BufferedImage" oder ein "DoubleBufferedImage" falls du das Bild bewegen willst!
 
So habe das nun in ein JPanel gezeichnet (paint methode überschrieben und dann mit g.drawImage(..), jedoch sind die Bilder sehr klein. Da man ja was auswählen soll in dem Bild wäre es schön wenn ich dieses vergrössert zeichnen könnte.
Gibt es nicht irdendeine Methode die meine Zeichnung vergrössert darstellt auf dem JPanel?

Danke



EDIT: Ok, hat sich erledigt!
 
Zuletzt bearbeitet:
Die Frage davor habe ich selber gelöst, jedoch habe ich direkt eine neue.

Wie füge ich nun einen MouseListener in mein JPanel ein.

Ich habe eine Klasse geschrieben (class test extends JPanel implements MouseListener...)
Dort habe ich die Methoden vom MouseListener soweit geschieben.

Nun muss ich zu meinem Objekt das ich aus dieser Klasse erstellt habe mit
Testobject.addMouseListener(Testobject); das irgendwie hinzufügen oder?

Irgendwie weiss ich jetzt nicht weiter:(

Vielen dank für Tips
 
Also falls das JPanel über die Methode "addMouseListener" verfügt, dann machst du einfach

"testObject.addMouseListener(testObject);"

Wenn du den MouseListener schon im Konstruktor von "test" einbinden willst, müsste es auch so gehen:

"this.addMouseListener(this);"

Sag Bescheid falls es nicht klappt!


Update: JPanel müsste über die Methode "addMouseListener" verfügen, habe es gerafe in der Java-Api nachgeschlagen!
 
Zuletzt bearbeitet:

Ähnliche Themen

G
Antworten
1
Aufrufe
1.351
M
Zurück
Oben