2014년 9월 10일 수요일

JavaFX UI - 1.Label


아래 그림은 일반적인 label의 사용 예이다. 왼쪽은 이미지를 가진 label이고, 중앙은 회전된 label이고, 오른쪽은 텍스트 줄바꿈이 적용된 label이다.




1. Creating a Label

JavaFX API는 Labe
l 클래스에 대한 세 가지 생성자를 제공한다.

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



댓글 없음:

댓글 쓰기