아래 그림은 일반적인 label의 사용 예이다. 왼쪽은 이미지를 가진 label이고, 중앙은 회전된 label이고, 오른쪽은 텍스트 줄바꿈이 적용된 label이다.
1. Creating a Label
JavaFX API는 Label 클래스에 대한 세 가지 생성자를 제공한다.
Example 1-1 Creating Labels
Label 생성 후에도, 다음과 같은 메서드를 통해 문자열이나 그래픽 컨텐츠를 추가할 수 있다.
- setText(String text) : 라벨에 대한 텍스트를 지정한다.
- setGraphic(Node graphic) : 라벨에 적용될 그래픽 아이콘을 지정한다.
- setTextFill(Color color) : 텍스트의 컬러를 지정한다.
Example 1-2 Adding an Icon and Text Fill to a Label
위 코드의 결과 화면은 아래와 같다.
Button 상에 표현되는 텍스트와 아이콘 사이의 간격을 지정하기 위하여, setGraphicTextGap 메서드를 사용할 수 있다.
라벨의 텍스트 컨텐츠에 대한 위치를 제어하기 위해 setTextAlignment 메서드를 사용할 수 있다. 뿐만 아니라, 그래픽 아이콘의 위치를 텍스트 컨텐츠에 상대적인 위치로 지정하기 위하여 setContentDisplay 메서드와 ContentDisplay 정의 상수들 (LEFT, RIGHT, CENTER, TOP, BOTTOM)을 사용할 수 있다.
2. Setting a Font
Label의 폰트를 변경하기 위하여 Label 클래스의 setFont 메서드를 사용한다.
Example 1-3 Applying Font Settings
3. Wrapping Text
Label을 생성할 때, 가끔은 정해진 공간 안에 맞추어 표현해야 할 때가 있다. 이를 위해 텍스트 줄바꿈을 해야하는 경우, setWrapText 메서드를 사용할 수 있다.
위 예제의 결과 화면은 다음과 같다.
Label의 레이아웃 영역이 너비와 높이 모두 제한되었고, 그 영역 내에 라벨 내용이 그려지는 것이 불가능한 경우에 대한 처리 방법을 지정하기 위하여 setTextOverrun 메서드와 OverrunStyle 클래스 정의 상수를 사용할 수 있다.
4. Applying Effects
Label은 내부 컨텐트가 정적이고 편집이 불가능하지만, 시각적인 효과나 변형을 적용할 수 있다. 아래 예제는 label을 회전시키고 위치를 수직으로 이동시킨다.
Example 1-4 Rotating a Label
회전과 위치 이동은 JavaFX API에서 사용가능한 변형의 전형적인 예이다.
뿐만 아니라 사용자가 마우스 커서를 가져 갔을 때 라벨을 확대하는 효과를 설정할 수 있다.
Example 1-5 Applying the Zoom Effect
댓글 없음:
댓글 쓰기