2014-09-10 87 views

回答

5

任何节点都可以有它通过使用CSS -fx-rotate属性CSS样式旋转。

这是以度数表示的旋转角度。零度在3点(直接在右边)。角度值顺时针旋转。旋转是关于中心。

因此,在你的代码或FXML你可以有:

label.setStyle("vertical"); 

而且在你的CSS样式表,您可以定义:

.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吗? – 2014-09-10 18:03:14

+0

不,我不相信旋转属性是可修改的。 – 2014-09-10 18:05:37

+0

感谢您呼叫定位。集团似乎并没有解决它 – 2014-09-10 18:16:42