Klickposition genau bestimmen

J

Jessy12

Gast
Hallo, ich habe mal wieder eine Frage :) Es geht um Folgendes: Ich möchte die Position eines Mausklicks genauer bestimmen. Z.b. habe ich irgendwo auf auf einem Panel einen Kreis gezeichnet, der auch noch ständig seine Position ändert. Jetzt möchte ich, dass wenn ich auf diesen Kreis klicke, ein Event ausgelöst wird. Wie gehe ich am besten vor, wenn ich das Event nur ausgelöst haben möchte, wenn die Maus wirklich innerhalb des Kreises ist?


Gruß, Jessy
 
J

Jessy12

Gast
Und wie verhält es sich, wenn ich ein Bild habe? Also wenn ich bspw. ein PNG in der Form eines Kreises habe? Kann ich da den Anzeigebereich genau so genau abfragen?

Und noch etwas: Wenn ich ein animiertes Bild möchte, wie macht man das am besten in Java? Jede Animationsstufe als einzelnes Bild und dann in eine Schleife packen?

Danke :)
 

Marco13

Top Contributor
Bei dem Bild kann man schonmal feststellen, ob man AUF das Bild geklickt hat, indem man testet, ob die Mausposition innerhalb des "Rectangles" ist, das vom Bild beschrieben wird. Ob ein "Kreis" in diesem Bild angeklickt wurde, kann man nur feststellen, wenn man weiß, was den "Kreis" vom Hintergrund unterscheidet (z.B. die Farbe...)
 
G

Gast2

Gast
Bei nem BufferedImage hast du z.b. die Methode
Code:
getRGB(int x, int y)
 

Michael...

Top Contributor
Und wie erfrage ich die Farbe auf dem Bild?
Dazu müsste man wissen, in welcher Form das Bild in Deinem Code "existiert"

Ganz allgemein kann man mittels Robot#getPixelColor(int, int) die Farbe an einer der spezifischen Bildschirm-Position ermitteln.
Falls ein BufferedImage vorliegt: BufferedImage#getRGB(int, int)

Ich hallt den Ansatz über das Bild bzw. die Bildfarbe allerdings für nicht sehr "schön". Was wenn man das Bild mal austauchst? Oder bei einem mehrfarbigen Bild...
Mein Favorit ein "echtes" Kreis Objekt verwenden und das Bild hineinzeichnen. Die Überprüfung ausschließlich über das Kreis Objekt.
 

Andi_CH

Top Contributor
Kreise sind doch einfach zu berechnen - wenn du die Position hast an der geklickt wurde, brauchst du nur die Distanz zum Mittelpunkt zu berechnen und mit dem Radius zu vergleichen ....
 

Brainiac

Bekanntes Mitglied
Was willst Du denn genau erreichen? Wenn Du ein Bild hast und auf ihm mehrere Klickpositionen simulieren willst, kannst du auch mit den Koordinaten des Mouseklicks arbeiten. Verrate mal ein bisschen mehr was Du machen magst.
 
J

Jessy12

Gast
Es hat sich alles geklärt und danke für Eure Hilfe. Ich hätte noch eine Frage: Warum funktioniert setBackground(Color c) auf dem Graphics-Objekt eines BufferedImage nicht?

Java:
BufferedImage im = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
im.createGraphics().setBackground(Color.GREEN);
g.drawImage(im, 0,  0, this); // g ist das Graphics-Objekt in der paintComponent() - Methode

das Bild wird zwar gezeichnet hat aber einen schwarzen Hintergrund. Warum?
 
S

Spacerat

Gast
...weil der Background erst in das BI gezeichnet werden muß.
Java:
Graphics g2 = im.getGraphics();
g2.setColor(Color.GREEN);
g2.drawRect(0,0,im.getWidth(),im.getHeight(), this);
 
Zuletzt bearbeitet von einem Moderator:
J

Jessy12

Gast
Mir ist schon klar, dass ich einfach ein Rechteck zeichnen kann aber warum funktioniert setBackground() nicht? Was hat diese Methode denn dann für einen Sinn?
 
G

Gast2

Gast
Steht doch in der API was die Methode genau macht:

http://download.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html#setBackground%28java.awt.Color%29 hat gesagt.:
Sets the background color for the Graphics2D context. The background color is used for clearing a region. When a Graphics2D is constructed for a Component, the background color is inherited from the Component. Setting the background color in the Graphics2D context only affects the subsequent clearRect calls and not the background color of the Component. To change the background of the Component, use appropriate methods of the Component.
Immer noch unklar?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Kann mir jemand wörtlich erklären, was in dem Code genau passiert? Java Basics - Anfänger-Themen 1
B 49-bit-zahl mit genau 6 Einsen bauen? Java Basics - Anfänger-Themen 21
H BlueJ: was genau ist hier der Fehler? Java Basics - Anfänger-Themen 14
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
J Hallo zusammen , was macht diese Methode hier genau? Java Basics - Anfänger-Themen 3
M Was wird hier genau getestet? Java Basics - Anfänger-Themen 9
jhCDtGVjcZGcfzug Was genau ist mit diesem Quellcode gemeint? Java Basics - Anfänger-Themen 5
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
S Was bewirkt ganz genau throw hinter einem Funktionsnamen? Java Basics - Anfänger-Themen 14
B Webhooks - was genau ist das und was kann damit JAVA Java Basics - Anfänger-Themen 5
B OCR - Rechnungserkennung, wie geht das genau? Java Basics - Anfänger-Themen 59
L Was genau macht -> Java Basics - Anfänger-Themen 18
Dawinartor Erste Schritte Was genau steckt dahinter? Java Basics - Anfänger-Themen 7
J Was genau macht die Methode close() im InputStream? Java Basics - Anfänger-Themen 5
C Polymorphie Was genau ist Polymorphie und wann genau sollte man es verwenden? Java Basics - Anfänger-Themen 9
A Was genau ist ein Standardkonstruktor Java Basics - Anfänger-Themen 10
B Wie funktionieren diese Methoden in diesem Sortierverfahren genau? Java Basics - Anfänger-Themen 2
B Für gesamte Schleife genau X Sekunden benötigen Java Basics - Anfänger-Themen 1
J TabelView - Kann mir jemand die Sequenz genau erklären ? Java Basics - Anfänger-Themen 2
L Was genau macht "public static void" ? Java Basics - Anfänger-Themen 12
G Methoden Was genau macht die Methode light.setInfluencingBounds ? Java Basics - Anfänger-Themen 5
H Wer genau ist 'Er'? Java Basics - Anfänger-Themen 4
K Was macht hier genau return? Java Basics - Anfänger-Themen 2
B Was genau ist getClass().getRessouce() Java Basics - Anfänger-Themen 1
Y Wie setze ich genau eine Stückliste (UML) in Java um? Java Basics - Anfänger-Themen 9
D Was genau ist JDBC? Java Basics - Anfänger-Themen 2
K Code vereinfachen mit Schleife, aber wie genau? Java Basics - Anfänger-Themen 3
L Jarfiles packen, wie geht's genau? Java Basics - Anfänger-Themen 12
D Wann genau nutze ich ein solches Interface? Java Basics - Anfänger-Themen 3
K Wann genau brauche ich die Anweisung gleich null? Java Basics - Anfänger-Themen 10
J keyListener - Genau 1 Aktion soll bei 1 Tastenausdruck ausgeführt werden Java Basics - Anfänger-Themen 11
A Wenn genau welche Liste verwenden? Java Basics - Anfänger-Themen 6
S Erste Schritte Konstruktor - wie genau funktioniert der Code? Java Basics - Anfänger-Themen 16
N aktuelle Datum Mikrosekunden genau bestimmen Java Basics - Anfänger-Themen 8
S Dezimale Konstanten sind immer positiv oder null - was heisst das den genau? Java Basics - Anfänger-Themen 2
F Was soll dieses Programm genau machen ? Java Basics - Anfänger-Themen 9
D Wie genau programmiere ich eine Assoziationsklasse? Java Basics - Anfänger-Themen 3
D Wie genau kann ich in Java Komponenten entwickeln? Java Basics - Anfänger-Themen 6
D Wann genau abstrakte Klasse und wann ein Interface verwenden? Java Basics - Anfänger-Themen 4
D Was genau bedeutet und bewirkt dieses @override? Java Basics - Anfänger-Themen 15
M Was ist genau eine Abstraktion in java Java Basics - Anfänger-Themen 3
J Was genau davon ist Anweisung, was Deklaration? Java Basics - Anfänger-Themen 2
bigbasti Warum genau braucht man Interfaces? Java Basics - Anfänger-Themen 10
A Was bedeutet folgende Programmcodezeile genau Java Basics - Anfänger-Themen 6
B Zeitmessung nicht genau genug Java Basics - Anfänger-Themen 11
L Hilfe, ich versteh nicht was mein Prof genau von mir will! Java Basics - Anfänger-Themen 9
C Wie genau geht man bei der Konzeptionierung vor? Java Basics - Anfänger-Themen 5
P Was genau bedeutet Feld Java Basics - Anfänger-Themen 3
P Was genau bedeutet "public static void main(String[] ar Java Basics - Anfänger-Themen 10
S Stack.pop() wie genau funktioniert das? Java Basics - Anfänger-Themen 3
D Mathematik in Java - genau? Java Basics - Anfänger-Themen 6
X Was genau heißt "public static void main(String[] args) Java Basics - Anfänger-Themen 4
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
M Radius von einer ellipse bestimmen Java Basics - Anfänger-Themen 7
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
rosima26 Java SubSum bestimmen Java Basics - Anfänger-Themen 76
M Ersten Index von Array bestimmen Java Basics - Anfänger-Themen 14
C Kollision zweier Rechtecke, Schnittpunkte bestimmen Java Basics - Anfänger-Themen 25
C Boolesche Formel, Belegungen bestimmen Java Basics - Anfänger-Themen 8
Der Grütz Verständnisfrage zu Übung aus Java Kurs - Schaltjahr bestimmen Java Basics - Anfänger-Themen 2
H Den Wert einer rekursiven Funktion bestimmen Java Basics - Anfänger-Themen 5
L Partitionierungsgruppen bestimmen Java Basics - Anfänger-Themen 22
H Klassen Die Länge einer Text-Node bestimmen Java Basics - Anfänger-Themen 2
H Minimum in einem Array bestimmen Java Basics - Anfänger-Themen 7
Kawastori Größe eines Arrays bestimmen Java Basics - Anfänger-Themen 13
L Datentypen Deklarierte Felder einer Generic Klasse bestimmen Java Basics - Anfänger-Themen 7
M Array Summe bestimmen? Java Basics - Anfänger-Themen 14
N Bereich Zufallszahl bestimmen (50 und 100 / 80 und 90) Java Basics - Anfänger-Themen 2
J Y-Koordinate von GUI-Objekt bestimmen Java Basics - Anfänger-Themen 2
J Java GUI- Objekte Position per Quelltext bestimmen Java Basics - Anfänger-Themen 4
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
F Summe in einem Array bestimmen Java Basics - Anfänger-Themen 3
H Ersten Zug bestimmen Java Basics - Anfänger-Themen 12
O Suchbaum Elternknoten finden Level eines Knoten bestimmen Java Basics - Anfänger-Themen 24
C Kleinsten Kreis einer Punktmenge bestimmen Java Basics - Anfänger-Themen 4
CptK Methoden Koordinaten relativ zur Rotation eines Bildes bestimmen Java Basics - Anfänger-Themen 8
J Breite eines Strings bestimmen Java Basics - Anfänger-Themen 4
E Maximalwert im Array bestimmen Java Basics - Anfänger-Themen 8
L Datentypen Date API - diese Woche bestimmen Java Basics - Anfänger-Themen 1
Y Rekursionsgleichung bestimmen Java Basics - Anfänger-Themen 3
Y Teile und Herrsche, längstes absteigendes Teilarray bestimmen Java Basics - Anfänger-Themen 12
T Min und Max einer Zahlenfolge bestimmen Java Basics - Anfänger-Themen 7
V Klassen Bestimmen Sie die erste und letzte Position an der ein 'c' steht? Java Basics - Anfänger-Themen 3
M Bestimmen, wie oft ein Char in einem Array vorkommt Java Basics - Anfänger-Themen 2
P Rückgabewert bestimmen Java Basics - Anfänger-Themen 17
C Vererbung - Ausgaben bestimmen Java Basics - Anfänger-Themen 6
T Anzahl bestimmter Werte eines arrays bestimmen Java Basics - Anfänger-Themen 4
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
E Summe der "Nachbarn" eines Wertes in einem Array bestimmen Java Basics - Anfänger-Themen 8
H Quotient durch Subtraktion bestimmen Java Basics - Anfänger-Themen 12
1 Größe einer zirkulären Liste bestimmen .. ? Java Basics - Anfänger-Themen 2
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
D Wochentag für eingegebenes Datum bestimmen anhand von Formel Java Basics - Anfänger-Themen 2
C Werteraum für Variable bestimmen Java Basics - Anfänger-Themen 5
S Vererbung exaktes "Objekt" der Unterklasse bestimmen Java Basics - Anfänger-Themen 5
Screen Wie geringste Absolutdifferenz zum Median bestimmen? Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben