0
무작위로 원, 사각형, 직사각형을 그리는 프로그램을 만들었습니다. 내 문제는 event.getX() 및 event.getY();캔버스에 JavaFX "y"위치
그린 포인트 내가 캔버스를 클릭 곳은 다음과 같습니다
문제입니다.↑ → 축은 다음과 같이해야합니다. (캔버스를 확장)와
얻기 마우스 위치 : :하지만 내 프로그램에서이 같은 의미 ↓ →
여기에 세부 사항입니다
@Override
public void start(Stage primaryStage) {
this.color = Color.BLACK;
toggleGroup = new ToggleGroup();
hBox = new HBox();
vBox = new VBox();
label = new Label();
vBox.setPadding(new Insets(5,15,0,15));
vBox.setSpacing(10);
hBox.setPadding(new Insets(5,0,0,0));
//Radio Buttons
red = new RadioButton("Red");
red.setSelected(true);
green = new RadioButton("Green");
blue = new RadioButton("Blue");
red.setToggleGroup(toggleGroup);
green.setToggleGroup(toggleGroup);
blue.setToggleGroup(toggleGroup);
//Buttons
buttonCircle = new Button("Circle");
buttonCircle.setMinSize(70,20);
buttonCircle.setOnMouseClicked(event -> circleButtonClicked());
buttonSquare = new Button("Square");
buttonSquare.setMinSize(70,20);
buttonSquare.setOnMouseClicked(event -> squareButtonClicked());
buttonRectangle = new Button("Rectangle");
buttonRectangle.setMinSize(70,20);
buttonRectangle.setOnMouseClicked(event -> rectangleButtonClicked());
cleanAll = new Button("Clean All");
cleanAll.setMinSize(70,20);
cleanAll.setOnMouseClicked(event -> cleanAllEvent());
figureCanvas = new FigureCanvas(10,400,500, this);
vBox.getChildren().addAll(red,green,blue,buttonCircle,buttonSquare,buttonRectangle,cleanAll,label);
hBox.getChildren().addAll(vBox,figureCanvas);
Scene scene = new Scene(hBox,500,500);
primaryStage.setScene(scene);
primaryStage.setTitle("Draw Figure");
primaryStage.show();
}
I : 부분 초기화
super.setOnMouseClicked(event -> selectFigureContaining(event.getX(),event.getY()));
정말 JavaFX가 처음입니다. 나는 왜 y 축이 왼쪽 상단에 더 작게되는지 이해할 수 없었다. 감사.