JavaFX实验——位置判断

编写一个程序,绘制一个圆心在(100,60),半径为50的圆。当鼠标移动时,显示一条消息表示鼠标点是在圆内还是圆外。

代码如下:

package sample;

import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Pane pane = new Pane();
        Text text = new Text();
        Circle circle = new Circle(100, 60, 50, Color.WHITE);
        circle.setStroke(Color.BLACK);
        pane.setOnMouseMoved(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent e) {
                if(circle.contains(e.getX(), e.getY())){
                    text.setX(e.getX());
                    text.setY(e.getY());
                    text.setText("Mouse point is inside the circle");
                }
                else{
                    text.setX(e.getX());
                    text.setY(e.getY());
                    text.setText("Mouse point is outside the circle");
                }
            }
        });
        pane.getChildren().addAll(circle, text);
        primaryStage.setTitle("Location Judgment");
        primaryStage.setScene(new Scene(pane, 300, 275));
        primaryStage.show();
    }


    public static void main(String[] args) {
        launch(args);
    }
}

运行结果:
JavaFX实验——位置判断_第1张图片
JavaFX实验——位置判断_第2张图片

你可能感兴趣的:(JavaFX实验——位置判断)