在JavaFX中,可以使用localToScene()
方法将X和Y整数坐标转换为正确的像素坐标。该方法将给定的坐标转换为相对于场景的坐标。
以下是一个示例代码,演示如何在JavaFX中进行坐标转换:
import javafx.application.Application;
import javafx.geometry.Point2D;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class CoordinateConversionExample extends Application {
@Override
public void start(Stage primaryStage) {
Pane root = new Pane();
Scene scene = new Scene(root, 400, 400);
Circle circle = new Circle(50);
circle.setCenterX(100);
circle.setCenterY(100);
root.getChildren().add(circle);
scene.setOnMouseClicked(event -> {
double x = event.getX();
double y = event.getY();
Point2D sceneCoordinates = new Point2D(x, y);
Point2D localCoordinates = circle.sceneToLocal(sceneCoordinates);
System.out.println("Scene Coordinates: " + sceneCoordinates);
System.out.println("Local Coordinates: " + localCoordinates);
});
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在上述示例中,创建了一个圆形,并将其添加到场景中。当用户在场景上点击时,会获取鼠标点击的X和Y坐标。然后,使用sceneToLocal()
方法将场景坐标转换为相对于圆形的本地坐标。最后,将转换后的坐标打印出来。
这是一个简单的示例,演示了如何在JavaFX中将X和Y整数坐标转换为正确的像素坐标。在实际应用中,您可以根据需要进行更复杂的坐标转换操作。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云