Java: Vẽ đa giác mở (Polyline) 2D
Polyline giống như một đa giác ngoại trừ điểm khác là nó là một hình hở. Hoặc, đường liên tục bao gồm một hoặc nhiều đoạn thẳng.
Tóm lại, chúng ta có thể nói một polyline là một hình mở được tạo thành bởi các đoạn đường đồng phẳng.
Trong JavaFX, một Polyline được đại diện bởi một lớp có tên là Polygon. Lớp này thuộc về gói javafx.scene.shape. .
Bằng cách khởi tạo lớp này, bạn có thể tạo nút polyline trong JavaFX. Bạn cần chuyển tọa độ x, y của các điểm mà polyline sẽ được xác định dưới dạng một mảng kép.
Bạn có thể truyền mảng kép làm tham số của hàm tạo của lớp này như hình dưới đây:
Polyline polyline = new Polyline(doubleArray);
Hoặc, bằng cách sử dụng phương thức getPoints () như sau:
polyline.getPoints().addAll(new Double[]{List of XY coordinates separated by commas });
Các bước để vẽ Polyline
Để vẽ Polyline trong JavaFX, hãy làm theo các bước dưới đây.
Bước 1: Tạo lớp học
Tạo một lớp Java và kế thừa lớp Ứng dụng của gói javafx.application và triển khai phương thức start () của lớp này như sau.
public class ClassName extends Application { @Override public void start(Stage primaryStage) throws Exception { } }
Bước 2: Tạo Polyline
Bạn có thể tạo một dòng trong JavaFX bằng cách khởi tạo lớp có tên Dòng thuộc về một gói javafx.scene.shape . Bạn có thể khởi tạo lớp này như sau.
//Creating an object of the class Polyline Polyline polyline = new Polyline();
Bước 3: Đặt thuộc tính cho Polyline
Chỉ định một mảng kép chứa tọa độ XY của các điểm của đường đa giác bắt buộc (hình lục giác trong ví dụ này) được phân tách bằng dấu phẩy. Bạn có thể thực hiện việc này bằng cách sử dụng phương thức getPoints () của lớp Polyline như được hiển thị trong khối mã sau.
//Adding coordinates to the hexagon polyline.getPoints().addAll(new Double[]{ 200.0, 50.0, 400.0, 50.0, 450.0, 150.0, 400.0, 250.0, 200.0, 250.0, 150.0, 150.0, });
Bước 4: Tạo đối tượng nhóm
Trong phương thức start (), tạo một đối tượng nhóm bằng cách khởi tạo lớp có tên Group, thuộc về gói javafx.scene .
Vượt qua Polyline (nút) đối tượng, được tạo ra trong bước trước, như một tham số cho constructor của lớp Group, để thêm nó vào nhóm như sau -
Group root = new Group(polyline);
Bước 5: Tạo một đối tượng cảnh
Tạo một Cảnh bằng cách khởi tạo lớp có tên Cảnh thuộc về gói javafx.scene . Lớp này chuyển đối tượng Group (gốc) đã được tạo ở bước trước.
Ngoài đối tượng gốc, bạn cũng có thể truyền hai tham số kép đại diện cho chiều cao và chiều rộng của màn hình cùng với đối tượng của lớp Nhóm như sau.
Scene scene = new Scene(group ,600, 300);
Bước 6: Đặt tiêu đề của sân khấu
Bạn có thể đặt tiêu đề cho vùng hiển thị bằng phương thức setTitle () của lớp Giai đoạn . Các primaryStage là một đối tượng Stage được truyền cho phương thức khởi đầu của lớp cảnh như một tham số.
Sử dụng đối tượng primaryStage , đặt tiêu đề của cảnh là Ứng dụng mẫu như sau.
primaryStage.setTitle("Sample Application");
Bước 7: Thêm cảnh vào sân khấu
Bạn có thể thêm một đối tượng Scene vào sân khấu bằng cách sử dụng phương thức setScene () của lớp có tên Giai đoạn . Thêm đối tượng Scene đã chuẩn bị ở các bước trước bằng cách sử dụng phương pháp sau.
primaryStage.setScene(scene);
Bước 8: Hiển thị nội dung của sân khấu
Hiển thị nội dung của cảnh bằng phương thức có tên show () của lớp Sân khấu như sau.
primaryStage.show();
Bước 9: Khởi chạy ứng dụng
Khởi chạy ứng dụng JavaFX bằng cách gọi phương thức tĩnh khởi chạy () của lớp Ứng dụng từ phương thức chính như sau.
public static void main(String args[]){ launch(args); }
Thí dụ
Sau đây là một chương trình tạo ra một polyline bằng cách sử dụng JavaFX. Lưu mã này trong một tệp có tên PolylineExample.java .
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.shape.Polyline public class PolylineExample extends Application { @Override public void start(Stage stage) { //Creating a polyline Polyline polyline = new Polyline(); //Adding coordinates to the polygon polyline.getPoints().addAll(new Double[]{ 200.0, 50.0, 400.0, 50.0, 450.0, 150.0, 400.0, 250.0, 200.0, 250.0, 150.0, 150.0, }); //Creating a Group object Group root = new Group(polyline); //Creating a scene object Scene scene = new Scene(root, 600, 300); //Setting title to the Stage stage.setTitle("Drawing a Polyline"); //Adding scene to the stage stage.setScene(scene); //Displaying the contents of the stage stage.show(); } public static void main(String args[]){ launch(args); } }
Biên dịch và thực thi tệp java đã lưu từ dấu nhắc lệnh bằng các lệnh sau.
javac PolylineExample.java java PolylineExample
Khi thực thi, chương trình trên tạo ra một cửa sổ JavaFX hiển thị một polyline như hình dưới đây.