Java: Phần tử đường dẫn CubicCurveTo 2D

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Phần tử đường dẫn CubicCurveTo được sử dụng để vẽ một đường cong hình khối đế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à CubicCurveTo. Lớp này thuộc về gói javafx.scene.shape.

Lớp này có 6 thuộc tính của kiểu dữ liệu kép là:

  • setX - Tọa độ x của điểm mà đường cong sẽ được vẽ từ vị trí hiện tại.
  • setX - Tọa độ y của điểm mà đường cong sẽ được vẽ từ vị trí hiện tại.
  • controlX1 - Tọa độ x của điểm điều khiển thứ nhất của đường cong.
  • controlY1 - Tọa độ y của điểm điều khiển thứ nhất của đường cong.
  • controlX2 - Tọa độ x của điểm điều khiển thứ 2 của đường cong.
  • controlY2 - Tọa độ y của điểm điều khiển thứ 2 của đường cong.

Để vẽ một đường cong hình khối, 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 tới hàm tạo của lớp này. Chúng phải theo thứ tự giống như tại thời điểm khởi tạo như hình dưới đây -

CubicCurveTo cubiccurve = new CubicCurveTo(
   X, Y, controlX1, controlY1, controlX2, controlY2); 

Hoặc, bằng cách sử dụng các phương pháp setter tương ứng của chúng như được hiển thị bên dưới -

setX(value); 
setY(value); 
setControlX1(value); 
setControlY1(value); 
setControlX2(value); 
setControlY2(value);  

Các bước để vẽ Đường cong khối PathElement

Để vẽ một đường cong hình khối đế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 . Sau đó, bạn có thể triển khai phương thức start () của lớp này như hình dưới đây.

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

Tạo Đối tượng Lớp Đường dẫn như được hiển thị trong khối mã sau.

//Creating a Path object 
Path path = new Path(); 

Bước 3: Tạo đườ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 CubicCurveTo

Tạo đường cong bậc hai của phần tử đường dẫn bằng cách khởi tạo lớp có tên CubicCurveTo, thuộc về gói javafx.scene.shape như được hiển thị bên dưới:

//Creating an object of the class CubicCurveTo 
CubicCurveTo cubicCurveTo= new CubicCurveTo ();

Bước 5: Đặt thuộc tính cho phần tử đường cong khối

Chỉ định tọa độ của điểm mà một đường cong hình khối sẽ được vẽ từ vị trí hiện tại. Sau đó, bạn nên đặt các thuộc tính x, y, controlX1, controlY1, controlX2, controlY2 và tọa độ của điểm điều khiển bằng các phương thức setter của chúng như hình dưới đây.

//Setting properties of the class CubicCurve            
cubicCurveTo.setControlX1(400.0f); 
cubicCurveTo.setControlY1(40.0f); 
cubicCurveTo.setControlX2(175.0f); 
cubicCurveTo.setControlY2(250.0f);
cubicCurveTo.setX(500.0f); 
cubicCurveTo.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à CubicCurveTo , được tạo ở 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ư sau:

//Adding the path elements to Observable list of the Path class   
path.getElements().add(moveTo); 
path.getElements().add(cubicCurveTo);

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 có thể đượ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 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 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ụ

Sau đây là chương trình vẽ một đường cong hình khối từ điểm hiện tại đến một vị trí xác định bằng cách sử dụng lớp có tên Path of JavaFX. Lưu mã này trong một tệp có tên CubicCurveToExample.java .

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.scene.shape.CubicCurveTo; 
import javafx.scene.shape.MoveTo; 
import javafx.scene.shape.Path; 
         
public class CubicCurveToExample extends Application {  
   @Override 
   public void start(Stage stage) {        
      //Creating an object of the class named Path 
      Path path = new Path();  
      
      //Moving to the starting point 
      MoveTo moveTo = new MoveTo(); 
      moveTo.setX(100.0); 
      moveTo.setY(150.0);
      
      //Instantiating the class CubicCurve 
      CubicCurveTo cubicCurveTo = new CubicCurveTo(); 
       
      //Setting properties of the class CubicCurve            
      cubicCurveTo.setControlX1(400.0f); 
      cubicCurveTo.setControlY1(40.0f); 
      cubicCurveTo.setControlX2(175.0f); 
      cubicCurveTo.setControlY2(250.0f); 
      cubicCurveTo.setX(500.0f); 
      cubicCurveTo.setY(150.0f);       
       
      //Adding the path elements to Observable list of the Path class 
      path.getElements().add(moveTo);       
      path.getElements().add(cubicCurveTo);         
      
      //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 cubic through a specified path"); 
         
      //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 CubicCurveToExample.java 
java CubicCurveToExample 

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 cong khối. Điều này được vẽ từ vị trí hiện tại đến điểm được chỉ định như hình dưới đây.

Vẽ đường cong khối

» Tiếp: Phần tử đường dẫn ArcTo 2D
« Trước: Phần tử đường dẫn QuadCurveTo 2D
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!