Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

JavaFX의 다양한 경로 요소는 무엇입니까?


javafx.scene.shape 패키지는 다양한 2D 모양을 그릴 수 있는 클래스를 제공하지만 이들은 선, 원, 다각형, 타원 등과 같은 원시적인 모양일 뿐입니다. 따라서 복잡한 사용자 정의 모양을 그리고 싶다면 Path 클래스를 사용해야 합니다.

경로 클래스

Path 클래스는 사용자 정의 경로를 그릴 수 있는 이 클래스를 사용하여 모양의 기하학적 윤곽을 나타냅니다.

사용자 정의 경로를 그리기 위해 JavaFX는 다양한 경로 요소를 제공하며 이 모든 요소는 javafx.scene.shape 의 클래스로 사용할 수 있습니다. 패키지.

  • LineTo − 이것은 경로 요소 line을 나타내는 클래스입니다. . 현재 좌표에서 지정된(새) 좌표까지 직선을 그리는 데 도움이 됩니다.

  • HlineTo가로선 경로 요소를 나타내는 클래스입니다. . 현재 좌표에서 지정된(새) 좌표까지 수평선을 그리는 데 도움이 됩니다.

  • VLineTo수직선 경로 요소를 나타내는 클래스입니다. . 현재 좌표에서 지정된(새) 좌표까지 수직선을 그리는 데 도움이 됩니다.

  • QuadCurveTo2차 곡선 경로 요소를 나타내는 클래스입니다. . 현재 좌표에서 지정된(새) 좌표로 2차 곡선을 그리는 데 도움이 됩니다.

  • CubicCurveTo입방 곡선 경로 요소를 나타내는 클래스입니다. . 현재 좌표에서 지정된(새) 좌표로 3차 곡선을 그리는 데 도움이 됩니다.

  • 호화 경로 요소를 나타내는 클래스입니다. . 현재 좌표에서 지정된(새) 좌표로 호를 그리는 데 도움이 됩니다.

  • 이동 − 이 클래스를 사용하여 현재 좌표에서 새 좌표로 경로를 이동할 수 있습니다.

경로 요소를 사용하여 경로 만들기

Path 클래스에는 현재 경로의 경로 요소를 보유하는 관찰 가능한 목록이 포함되어 있습니다. 따라서 경로를 그리려면 -

  • 필요한 PathElement 클래스를 인스턴스화합니다.

  • setter 메서드를 사용하여 각 경로의 속성을 설정하거나 생성자에 인수로 전달합니다.

  • Path 클래스를 인스턴스화합니다.

  • getElements()를 사용하여 위에서 생성한 Path의 관찰 가능한 목록 개체를 가져옵니다. 방법.

  • add() 또는 addAll() 메서드를 사용하여 모든 경로 요소 개체를 관찰 가능한 목록에 원하는 순서로 추가합니다.

  • 마지막으로 Group 개체에 대한 경로를 추가합니다.

참고 − Path 클래스의 생성자에 경로 요소를 전달할 수도 있습니다.

다음 JavaFX 예제는 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);
   }
}

출력

JavaFX의 다양한 경로 요소는 무엇입니까?