Java: Phần tử đường dẫn LineTo 2D
Phần tử đường dẫn LineTo được sử dụng để vẽ một đường thẳng đến một điểm trong tọa độ xác định từ vị trí hiện tại.
Nó được đại diện bởi một lớp có tên là LineTo. Lớp này thuộc về gói javafx.scene.shape.
Lớp này có 2 thuộc tính của kiểu dữ liệu kép là:
- X - Tọa độ x của điểm mà một đường sẽ được vẽ từ vị trí hiện tại.
- Y - Tọa độ y của điểm mà một đường sẽ được vẽ từ vị trí hiện tại.
Để vẽ một đường thẳng, bạn cần truyền các giá trị cho các thuộc tính này. Điều này có thể được thực hiện bằng cách chuyển chúng đến phương thức khởi tạo của lớp này, theo cùng một thứ tự, tại thời điểm khởi tạo, như được hiển thị bên dưới:
LineTO line = new LineTo(x, y);
Hoặc, bằng cách sử dụng các phương pháp setter tương ứng của chúng như sau:
setX(value); setY(value);
Các bước để vẽ Đường PathElement
Để vẽ một đường thẳng đến một điểm được chỉ định từ vị trí hiện tại 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 đối tượng lớp đường dẫn
Bạn có thể tạo đối tượng lớp đường dẫn như hình dưới đây.
//Creating a Path object Path path = new Path();
Bước 3: Thiết lập đường dẫn
Tạo phần tử đường dẫn MoveTo và đặt tọa độ XY cho điểm bắt đầu của đường thành tọa độ (100, 150). Điều này có thể được thực hiện bằng cách sử dụng các phương thức setX () và setY () của lớp MoveTo như hình dưới đây.
//Moving to the starting point MoveTo moveTo = new MoveTo(); moveTo.setX(100.0f); moveTo.setY(150.0f);
Bước 4: Tạo một đối tượng của Class LineTo
Tạo dòng phần tử đường dẫn bằng cách khởi tạo lớp có tên LineTo thuộc gói javafx.scene.shape như sau.
//Creating an object of the class LineTo LineTo lineTo = new LineTo();
Bước 5: Đặt thuộc tính cho phần tử đường
Chỉ định tọa độ của điểm mà một đường sẽ được vẽ từ vị trí hiện tại. Điều này có thể được thực hiện bằng cách thiết lập các thuộc tính x và y bằng các phương thức setter tương ứng của chúng như được hiển thị trong khối mã sau.
//Setting the Properties of the line element lineTo.setX(500.0f); lineTo.setY(150.0f);
Bước 6: Thêm các phần tử vào danh sách có thể quan sát được của lớp đường dẫn
Thêm các phần tử đường dẫn MoveTo và LineTo đã tạo trong các bước trước đó vào danh sách có thể quan sát được của lớp Đường dẫn như được hiển thị bên dưới:
//Adding the path elements to Observable list of the Path class path.getElements().add(moveTo); path.getElements().add(lineTo);
Bước 7: Tạo đối tượng nhóm
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 .
Truyền đối tượng Dòng (nút) đã tạo ở bước trước làm tham số cho hàm tạo của lớp Nhóm. Điều này nên được thực hiện để thêm nó vào nhóm như hình dưới đây -
Group root = new Group(line);
Bước 8: 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 . Đối với lớp này, truyền đối tượng Nhóm (gố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 9: Đặt tiêu đề của sân khấu
Bạn có thể đặt tiêu đề cho giai đoạn bằng cách sử dụ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 10: 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 này như hình dưới đây -
primaryStage.setScene(scene)
Bước 11: 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 12: 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ụ
Chương trình sau đây chỉ ra cách vẽ một đường thẳng từ điểm hiện tại đến một vị trí xác định bằng cách sử dụng lớp Path của JavaFX. Lưu mã này trong một tệp có tên LineToExample.java .
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.shape.LineTo; import javafx.scene.shape.MoveTo; import javafx.scene.shape.Path; import javafx.stage.Stage; public class LineToExample extends Application { @Override public void start(Stage stage) { //Creating a Path object Path path = new Path(); //Moving to the starting point MoveTo moveTo = new MoveTo(); moveTo.setX(100.0f); moveTo.setY(150.0f); //Instantiating the LineTo class LineTo lineTo = new LineTo(); //Setting the Properties of the line element lineTo.setX(500.0f); lineTo.setY(150.0f); //Adding the path elements to Observable list of the Path class path.getElements().add(moveTo); path.getElements().add(lineTo); //Creating a Group object Group root = new Group(path); //Creating a scene object Scene scene = new Scene(root, 600, 300); //Setting title to the Stage stage.setTitle("Drawing a Line"); //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 LineToExample.java java LineToExample
Khi thực thi, chương trình trên tạo ra một cửa sổ JavaFX hiển thị một đường thẳng, được vẽ từ vị trí hiện tại đến điểm được chỉ định, như được hiển thị bên dưới.