Нарисовать точку на плоскости - Java
Формулировка задачи:
Как можно создать окно с координатной плоскостью и поставить на ней точку курсором?
Решение задачи: «Нарисовать точку на плоскости»
textual
Листинг программы
import javafx.application.Application; import javafx.geometry.VPos; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.canvas.Canvas; import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; import javafx.scene.text.TextAlignment; import javafx.stage.Stage; public class ChartExp extends Application { @Override public void start(Stage primaryStage) throws Exception { Canvas canvas = new Canvas(600, 600); GraphicsContext gc = canvas.getGraphicsContext2D(); // сетка gc.setStroke(Color.GRAY); gc.setLineWidth(.5); gc.setFontSmoothingType(null); gc.setLineDashes(5, 2); for (int i = 0; i < 10; i++) { gc.strokeLine(i * 60, 0, i * 60, 600); gc.strokeLine(0, i * 60, 600, i * 60); } gc.setStroke(Color.BLUE); gc.setLineDashes(null); gc.setLineWidth(1); // числа gc.setTextAlign(TextAlignment.CENTER); for (int i = 0; i < 11; i++) { if (i == 5) continue; gc.strokeText(String.valueOf(i * 60 - 300), i * 60, 315); } gc.setTextBaseline(VPos.CENTER); gc.setTextAlign(TextAlignment.LEFT); for (int i = 0; i < 11; i++) { if (i == 5) continue; gc.strokeText(String.valueOf(300 - i * 60), 310, i * 60); } gc.setStroke(Color.BLACK); gc.strokeLine(300, 0, 300, 600); // zero line gc.strokeLine(0, 300, 600, 300); // zero line canvas.setOnMouseClicked(event -> gc.fillOval(event.getX() - 2, event.getY() - 2, 4, 4)); primaryStage.setScene(new Scene(new Group(canvas))); primaryStage.show(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д