java - VBox(或 HBox)内的旋转对象

标签 java rotation javafx vbox hbox

我有一个简短的程序,可以将旋转对象放入 VBox 中。 我希望 VBox 根据旋转调整其垂直尺寸。在以下示例中,文本对象不应接触:

enter image description here

但他们确实如此。 生成此代码的代码如下:

package metcarob.com.soavisualise;

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class TestAppForRotate extends Application {

@Override
public void start(final Stage primaryStage) throws Exception {

    Group root = new Group();
    Scene scene = new Scene(root);

    primaryStage.setScene(scene);

    VBox vbox = new VBox();
    root.getChildren().add(vbox);

    Group g = null;
    Text t = null;
    StackPane p = null;

    for (int c=0;c<3;c++) {
        g = new Group();
        t = new Text("Test " + Integer.toString(c));
        p = new StackPane();
        p.getChildren().add(t);
        p.setStyle("-fx-background-color: white; -fx-border-color: orange; -fx-border-width: 3;");
        g.getChildren().add(p);
        g.setRotate(c * 35);
        vbox.getChildren().add(g);
    }

    primaryStage.show();
}

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

在这个配置中我有 组内 StackPane 内的文本 整个组被旋转并添加到 VBox (在此示例中,我需要橙色框以及文本进行旋转)

关于如何让它发挥作用有什么想法吗? 罗伯特

最佳答案

将旋转的节点包装在未旋转的组中。

vbox.getChildren().add(new Group(g));

spacing

其工作原理来自 Group javadoc :

if transforms and effects are set directly on children of this Group, those will be included in this Group's layout bounds.

如果您希望 VBox 项目之间有额外的固定空间,可以使用 vbox.setSpacing正如 Rohan 的回答中所建议的。

关于java - VBox(或 HBox)内的旋转对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23062241/

相关文章:

java - 如何修改调用更改监听器的 javafx 对象属性的对象?

javafx - 如何在javaFX中隐藏Pannable滚动条?

java - Win 上带有 JMenuItem setHorizo​​ntalTextPosition 的双图标

android - 左上角所有安卓设备的屏幕上都是原点吗?

javascript - 旋转图像 Raphael.js

css - 如何将 .rotate() 混合应用于 Bootstrap 的 <i> 图标字形元素?

JavaFX HBox 对齐

java - Windows找不到 '\bin\ssvagent.exe'

java - 如何更改 JComboBox 的选定值

javascript - 如何通过Java、JavaScript上的方法每次从SQL Server检索数据