Hallo,
ich habe heute folgendes Problem.
Und zwar zeichne ich eine Kurve, indem ich ein GeneralPath Objekt namens line erzeuge. (das Zeichnen der Kurve beruht auf die in einem anderen Thread diskutierte Vorgehensweise mit der Sinus-Funktion).
Hier der wichtige Auszug:
Ich will nun mit einem Mausklick nur die Kurve ansprechen. Wenn ich allerdings das ganze wie folgt versuche, spreche ich immer den gesamten unten Bereich der Kurve an
Kann mir jemand von euch verraten, wie ich lediglich die Kurvenlinie ansprechen kann?
Vielen Dank schon jetzt für eure Hilfe.
Grüße,
JP
ich habe heute folgendes Problem.
Und zwar zeichne ich eine Kurve, indem ich ein GeneralPath Objekt namens line erzeuge. (das Zeichnen der Kurve beruht auf die in einem anderen Thread diskutierte Vorgehensweise mit der Sinus-Funktion).
Hier der wichtige Auszug:
Code:
line.reset();
line.moveTo(startX, startY);
if (scaleX > 0){
while (iter < scaleX) {
iter = iter + 0.010;
tmpX = (int) Math.round( (iter * graphLength / scaleX) + startX);
tmpY = (int) Math.round(scaleY * Math.sin(iter) + startY);
line.lineTo(tmpX, tmpY);
}
}
AffineTransform rotation = AffineTransform.getRotateInstance(arc,
startX, startY);
line.transform(rotation);
Ich will nun mit einem Mausklick nur die Kurve ansprechen. Wenn ich allerdings das ganze wie folgt versuche, spreche ich immer den gesamten unten Bereich der Kurve an
Code:
if (line.contains( (double) x, (double) y)) {
System.out.println("Got hit");
return true;
}
else return false;
Kann mir jemand von euch verraten, wie ich lediglich die Kurvenlinie ansprechen kann?
Vielen Dank schon jetzt für eure Hilfe.
Grüße,
JP