调用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);
}
}
Run Code Online (Sandbox Code Playgroud)
任何节点都可以使用-fx-rotatecss属性通过CSS设置旋转样式.
这是以度为单位的旋转角度.零度是在3点钟(直接向右).角度值顺时针正.轮换是以中心为中心的.
因此,在您的代码或FXML中,您可以:
label.setStyle("vertical");
Run Code Online (Sandbox Code Playgroud)
在您的css样式表中,您可以定义:
.vertical { -fx-rotate: -90; }
Run Code Online (Sandbox Code Playgroud)
另请注意James_D的回答建议,即在执行布局边界计算时将标签包装在一个组中以考虑轮换.
| 归档时间: |
|
| 查看次数: |
4353 次 |
| 最近记录: |