Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

JavaFX에서 텍스트에 테두리(Stroke)와 색상을 적용하는 방법

JavaFX의 javafx.scene.text.Text 클래스는 Shape 클래스를 상속하기 때문에 Shape가 가진 모든 멤버를 그대로 사용할 수 있습니다. 따라서 Text 노드에도 일반 도형과 마찬가지로 stroke(테두리), strokeWidth(테두리 두께), fill(채우기 색상) 속성에 값을 설정하여 텍스트의 외곽선과 색상을 자유롭게 꾸밀 수 있습니다.

주요 속성 정리

  • Stroke Width(테두리 두께) – 도형 경계선의 두께를 지정하는 속성입니다. setStrokeWidth() 메서드를 사용해 원하는 두께 값을 설정할 수 있습니다.

  • Fill(채우기 색상) – 도형 내부를 채울 색상을 지정하는 속성입니다. setFill() 메서드를 사용하면 텍스트나 도형의 안쪽 영역을 원하는 색으로 채울 수 있습니다.

  • Stroke(테두리 색상) – 도형 경계선의 색상을 지정하는 속성입니다. setStroke() 메서드를 사용해 외곽선 색을 설정할 수 있습니다.

예제 코드

아래 예제는 텍스트 객체를 생성한 뒤, 폰트를 설정하고 채우기 색상·테두리 두께·테두리 색상을 차례로 적용하는 전체 코드입니다.

import java.io.FileNotFoundException;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;

public class SettingStroke_Color extends Application {
   public void start(Stage stage) throws FileNotFoundException {
      // 텍스트 객체 생성
      String str = "Welcome to Tutorialspoint";
      Text text = new Text(30.0, 80.0, str);
      // 폰트 설정
      Font font = Font.font("Brush Script MT", FontWeight.BOLD, FontPosture.REGULAR, 65);
      text.setFont(font);
      // 텍스트의 채우기 색상 설정
      text.setFill(Color.BROWN);
      // 테두리 두께 설정
      text.setStrokeWidth(2);
      // 테두리 색상 설정
      text.setStroke(Color.BLUE);
      // 스테이지 설정
      Group root = new Group(text);
      Scene scene = new Scene(root, 595, 150, Color.BEIGE);
      stage.setTitle("Stroke And Color");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

실행 결과

위 코드를 실행하면 베이지색 배경 위에 갈색(BROWN)으로 채워진 텍스트가 나타나고, 파란색(BLUE) 테두리가 두께 2로 둘러싸인 모습을 확인할 수 있습니다. 이처럼 setFill(), setStroke(), setStrokeWidth() 세 가지 메서드만 조합하면 JavaFX 애플리케이션에서 텍스트를 손쉽게 강조하고 디자인할 수 있습니다.