ArcTo 클래스는 경로(path) 요소 중 하나인 호(arc)를 나타냅니다. 이 클래스를 활용하면 현재 좌표에서 지정된 새로운 좌표까지 곡선 형태의 호를 그릴 수 있습니다.
호 경로 요소 생성 절차
JavaFX에서 ArcTo 경로 요소를 만들려면 다음 순서대로 진행합니다.
- ArcTo 클래스의 인스턴스를 생성합니다.
- setter 메서드를 사용하거나 생성자에 값을 전달하여 해당 클래스의 속성 값들을 설정합니다.
- Path 클래스의 인스턴스를 생성합니다.
- 앞서 생성한 Path 객체에 대해 getElements() 메서드를 호출하여 관찰 가능한 리스트(observable list)를 가져옵니다.
- add() 메서드를 사용하여 해당 리스트에 ArcTo 객체를 추가합니다.
- 마지막으로, 완성된 경로를 Group 객체에 추가합니다.
예제 코드
다음은 MoveTo, LineTo와 함께 ArcTo 및 VLineTo를 조합하여 하나의 경로 위에 호를 그리는 예제입니다.
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.ArcTo;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.VLineTo;
public class ArcToExample extends Application {
public void start(Stage stage) {
//PathElement 객체 생성
MoveTo moveTo = new MoveTo(490, 50);
LineTo line1 = new LineTo(250, 250);
//ArcTo 클래스 인스턴스화
ArcTo arcTo = new ArcTo();
arcTo.setX(300.0);
arcTo.setY(50.0);
arcTo.setRadiusX(50.0);
arcTo.setRadiusY(50.0);
//VLineTo 객체 생성
VLineTo vLine = new VLineTo();
vLine.setY(180);
//경로(Path) 생성
Path path = new Path();
path.getElements().addAll(moveTo, line1, arcTo, vLine);
//기타 속성 설정
path.setStrokeWidth(8.0);
path.setStroke(Color.DARKSLATEGREY);
//Stage 객체 준비
Group root = new Group(path);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
stage.setTitle("JavaFX Example");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}실행 결과

위 코드를 실행하면 시작점에서 직선을 따라 이동한 뒤, 설정된 반지름(radiusX, radiusY = 50)을 기준으로 목표 좌표까지 부드럽게 휘어진 호가 그려지고, 이어서 세로 선분까지 연결된 경로가 화면에 표시됩니다.