Computer >> Máy Tính >  >> Lập trình >> Java

Các phần tử đường dẫn khác nhau trong JavaFX là gì?


javafx.scene.shape gói cung cấp các lớp bằng cách sử dụng mà bạn có thể vẽ các hình dạng 2D khác nhau, nhưng đây chỉ là các hình dạng nguyên thủy như đường thẳng, hình tròn, đa giác và elip, v.v. Do đó, nếu bạn muốn vẽ các hình dạng tùy chỉnh phức tạp, bạn cần sử dụng lớp Path.

Lớp đường dẫn

Lớp Path đại diện cho đường viền hình học của một hình dạng bằng cách sử dụng lớp này, bạn có thể vẽ đường dẫn tùy chỉnh của mình.

Để vẽ một đường dẫn tùy chỉnh JavaFX cung cấp các phần tử đường dẫn khác nhau và tất cả những phần tử này đều có sẵn dưới dạng các lớp trong javafx.scene.shape gói hàng.

  • LineTo - Đây là lớp đại diện cho phần tử đường dẫn dòng . Nó giúp bạn vẽ một đường thẳng từ tọa độ hiện tại đến tọa độ được chỉ định (mới).

  • HlineTo - Đây là lớp đại diện cho phần tử đường dẫn đường ngang . Nó giúp bạn vẽ một đường nằm ngang từ tọa độ hiện tại đến tọa độ được chỉ định (mới).

  • VLineTo - Đây là lớp đại diện cho phần tử đường dẫn đường dọc . Nó giúp bạn vẽ một đường thẳng đứng từ tọa độ hiện tại đến tọa độ được chỉ định (mới).

  • QuadCurveTo - Đây là lớp đại diện cho phần tử đường dẫn đường cong bậc hai . Nó giúp bạn vẽ một dạng đường cong bậc hai từ tọa độ hiện tại đến tọa độ xác định (mới).

  • CubicCurveTo - Đây là lớp đại diện cho phần tử đường dẫn đường cong khối . Nó giúp bạn vẽ một đường cong hình khối từ tọa độ hiện tại đến tọa độ được chỉ định (mới).

  • ArcTo - Đây là lớp đại diện cho phần tử đường dẫn arc . Nó giúp bạn vẽ một cung tròn từ tọa độ hiện tại đến tọa độ được chỉ định (mới).

  • MoveTo - Sử dụng lớp này, bạn có thể di chuyển đường dẫn từ tọa độ hiện tại sang tọa độ mới.

Tạo đường dẫn bằng cách sử dụng các phần tử đường dẫn

Lớp Path chứa một danh sách có thể quan sát được chứa các phần tử đường dẫn của đường dẫn hiện tại. Do đó, để vẽ một con đường -

  • Khởi tạo các lớp PathElement cần thiết.

  • Đặt các thuộc tính của từng đường dẫn bằng cách sử dụng các phương thức setter hoặc chuyển chúng dưới dạng đối số cho hàm tạo.

  • Khởi tạo lớp Path.

  • Nhận đối tượng danh sách có thể quan sát của Đường dẫn được tạo ở trên bằng cách sử dụng getElements () phương pháp.

  • Thêm tất cả các đối tượng phần tử đường dẫn vào danh sách có thể quan sát theo thứ tự mong muốn bằng cách sử dụng phương thức add () hoặc, addAll ().

  • Cuối cùng, thêm đường dẫn đến đối tượng Nhóm.

Lưu ý - Bạn cũng có thể chuyển các phần tử đường dẫn đến phương thức khởi tạo của lớp Path.

Ví dụ

Ví dụ JavaFX sau tạo một đường dẫn bằng cách sử dụng phần tử đường dẫn LineTo -

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class PathElementsExample extends Application {
   public void start(Stage stage) {
      //Drawing the shape
      MoveTo moveTo = new MoveTo(208, 71);
      LineTo line1 = new LineTo(421, 161);
      LineTo line2 = new LineTo(226,232);
      LineTo line3 = new LineTo(332,52);
      LineTo line4 = new LineTo(369, 250);
      LineTo line5 = new LineTo(208, 71);
      //Creating a Path
      Path path = new Path(moveTo, line1, line2, line3, line4, line5);
      path.setFill(Color.DARKCYAN);
      path.setStrokeWidth(8.0);
      path.setStroke(Color.DARKSLATEGREY);
      //Preparing the Stage object
      Group root = new Group(path);
      Scene scene = new Scene(root, 595, 300, Color.BEIGE);
      stage.setTitle("Drawing an arc through a path");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

Đầu ra

Các phần tử đường dẫn khác nhau trong JavaFX là gì?