Ich habe dies funktioniert mit einem Maus-Listener und der CrosshairOverlay-Klasse. Nachdem ich von den Urlaubsreisen zurückgekommen bin, werde ich meinen Code posten. Es endete nicht zu schwierig.
Entschuldigung, ich habe das vergessen!
Zuerst möchten Sie die x, y-Werte für die Position Ihres Fadenkreuzes berechnen. Für mich wollte ich, dass es sich entlang der Punkte unserer Linie bewegt, also berechnete ich den nächsten x-Wert und verwendete dieses Datenpaar für x, y.
Dann rufe ich diese Methode:
protected void setCrosshairLocation(double x, Double y) {
Crosshair domainCrosshair;
List domainCrosshairs = crosshairOverlay.getDomainCrosshairs();
if (domainCrosshairs.isEmpty()) {
domainCrosshair = new Crosshair();
domainCrosshair.setPaint(BlueStripeColors.LIGHT_GRAY_C0);
crosshairOverlay.addDomainCrosshair(domainCrosshair);
}
else {
// We only have one at a time
domainCrosshair = (Crosshair) domainCrosshairs.get(0);
}
domainCrosshair.setValue(x);
if (y != null) {
Crosshair rangeCrosshair;
List rangeCrosshairs = crosshairOverlay.getRangeCrosshairs();
if (rangeCrosshairs.isEmpty()) {
rangeCrosshair = new Crosshair();
rangeCrosshair.setPaint(BlueStripeColors.LIGHT_GRAY_C0);
crosshairOverlay.addRangeCrosshair(rangeCrosshair);
}
else {
// We only have one at a time
rangeCrosshair = (Crosshair) rangeCrosshairs.get(0);
}
rangeCrosshair.setValue(y);
}
}
Beachten Sie, dass crosshairOverlay eine Instanz von CrosshairOverlay ist.
Könnten Sie hier posten Sie Ihre Code plz? –