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 애플리케이션에서 텍스트를 손쉽게 강조하고 디자인할 수 있습니다.