JavaFX에서 텍스트 노드는 javafx.scene.text.Text 클래스로 표현됩니다. JavaFX 창에 텍스트를 삽입하거나 표시하려면 다음 단계를 따라야 합니다.
- Text 클래스의 인스턴스를 생성합니다.
- 세터(setter) 메서드를 사용하거나 생성자의 인수로 전달하여 위치, 문자열 등 기본 속성을 설정합니다.
- 생성된 노드를 Group 객체에 추가합니다.
취소선(Strikethrough) 적용하기
javafx.scene.text.Text 클래스의 strikethrough 속성은 텍스트의 각 줄 중앙을 가로지르는 직선을 표시할지 여부를 결정합니다. 이 속성의 값은 setStrikethrough() 메서드를 사용하여 설정할 수 있으며, boolean 값을 인수로 받습니다. 이 메서드에 true를 전달하면 텍스트 노드에 취소선이 적용됩니다.
밑줄(Underline) 적용하기
같은 클래스의 underline 속성은 텍스트의 각 줄 아래에 직선을 표시할지 여부를 결정합니다. 이 속성의 값은 setUnderline() 메서드를 통해 설정할 수 있으며, 역시 boolean 값을 인수로 받습니다. 이 메서드에 true를 전달하면 텍스트 노드 아래에 밑줄이 그려집니다.
예제 코드
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 Underline_StrikeThrough 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.DARKCYAN);
//스트로크의 너비와 색상 설정
text.setStrokeWidth(2);
text.setStroke(Color.DARKSLATEGRAY);
//텍스트에 밑줄 적용
text.setUnderline(true);
//텍스트에 취소선 적용
text.setStrikethrough(true);
//스테이지 설정
Group root = new Group(text);
Scene scene = new Scene(root, 595, 150, Color.BEIGE);
stage.setTitle("Underline And Strike-through");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}실행 결과
위 코드를 실행하면 지정한 폰트와 색상으로 표시된 텍스트에 취소선과 밑줄이 동시에 적용된 것을 확인할 수 있습니다. setUnderline(true)과 setStrikethrough(true) 두 메서드 호출만으로 손쉽게 텍스트 스타일을 변경할 수 있습니다.