2014-09-10 7 views
2

JavaFX 8에서는 텍스트를 왼쪽에서 오른쪽으로 이동하는 대신 맨 아래에서 맨 위로 이동하도록 Label을 회전시키는 CSS를 지정하고 싶습니다.레이블을 회전하는 방법

어떻게하면됩니까?

답변

5

모든 노드는 -fx-rotate CSS 속성을 사용하여 CSS를 통해 스타일 회전의 수 있습니다.

각도는 회전 각도입니다. 0 도는 3시 방향입니다 (오른쪽으로 직접). 각도 값은 시계 방향으로 양수입니다. 회전은 중심을 기준으로합니다.

label.setStyle("vertical"); 

을 그리고 당신의 CSS 스타일 시트에 당신은 정의 할 수 있습니다 :

그래서 코드 또는 FXML에 당신은 할 수 있습니다

.vertical { -fx-rotate: -90; } 

을 또한에 라벨을 포장의 James_D의 응답 제안을주의 레이아웃 경계 계산을 수행 할 때 순환 게재를 고려하는 그룹입니다.

3

라벨의 setRotate으로 전화하면 센터를 중심으로 회전 할 수 있습니다.

레이아웃 창 제대로 회전 후 라벨의 경계를 측정합니다 Group에 포장 할 수 있도록하려면 :

import javafx.application.Application; 
import javafx.geometry.Pos; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.control.Label; 
import javafx.scene.layout.HBox; 
import javafx.stage.Stage; 

public class RotatedLabelTest extends Application { 

    @Override 
    public void start(Stage primaryStage) { 
     Label label1 = new Label("Hello"); 
     Label label2 = new Label("World"); 

     label1.setRotate(-90); 
     Group labelHolder = new Group(label1); 

     HBox root = new HBox(5, labelHolder, label2); 
     root.setAlignment(Pos.CENTER); 

     Scene scene = new Scene(root, 250, 150); 
     primaryStage.setScene(scene); 
     primaryStage.show(); 

    } 

    public static void main(String[] args) { 
     launch(args); 
    } 
} 
+0

감사합니다. CSS가 있는지 알고 계십니까? –

+0

아니요, rotate 속성이 스타일 가능하다고 생각하지 않습니다. –

+0

포지셔닝을 불러 주셔서 감사합니다. 그룹 문제가 해결되지 않는 것 같습니다 –