JavaFX에서 javafx.scene.shape.LineTo 클래스는 경로(Path)를 구성하는 요소 중 하나인 선(line)을 나타냅니다. 이 클래스를 활용하면 현재 좌표에서 새로 지정한 좌표까지 직선을 손쉽게 그릴 수 있습니다.
LineTo로 선 경로 요소 만들기
선 경로 요소를 생성하려면 다음 단계를 순서대로 따르면 됩니다.
- LineTo 클래스의 인스턴스를 생성합니다.
- 세터(setter) 메서드를 사용하거나 생성자에 값을 전달하여 클래스의 속성(x, y 좌표)을 설정합니다.
- Path 클래스의 인스턴스를 생성합니다.
- getElements() 메서드를 호출하여 앞서 만든 Path 객체의 관찰 가능 리스트(observable list)를 가져옵니다.
- add() 메서드(또는 addAll())를 사용해 생성한 LineTo 객체를 해당 리스트에 추가합니다.
- 마지막으로, 완성된 경로를 Group 객체에 추가하면 화면에 표시됩니다.
예제 코드
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 LineToExample extends Application {
public void start(Stage stage) {
// PathElement 객체 생성
MoveTo moveTo = new MoveTo(208, 71);
LineTo line1 = new LineTo(421, 161);
LineTo line2 = new LineTo(226, 232);
LineTo line3 = new LineTo(332, 52);
// Path 생성 및 요소 추가
Path path = new Path();
path.getElements().addAll(moveTo, line1, line2, line3);
// 기타 속성 설정
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);
}
}코드 설명
위 예제에서는 먼저 MoveTo 객체로 시작 좌표(208, 71)를 지정한 뒤, 세 개의 LineTo 객체를 이용해 각각 다른 좌표로 이어지는 직선들을 정의했습니다. 이 요소들을 Path에 추가하면 여러 개의 선이 연결된 복합 경로가 완성됩니다.
또한 setStrokeWidth() 메서드로 선의 두께를 8.0으로 설정하고, setStroke() 메서드로 선 색상을 진한 청록색(DARKSLATEGREY)으로 지정했습니다. 배경은 BEIGE 색상의 595×300 크기 씬(Scene)으로 구성되어 있습니다.
실행 결과
프로그램을 실행하면 시작점에서부터 각 좌표를 잇는 여러 개의 직선이 하나의 경로로 화면에 나타납니다. 이처럼 MoveTo와 LineTo를 조합하면 자유로운 형태의 선분 그래픽을 JavaFX 애플리케이션 안에서 간단하게 구현할 수 있습니다.