2

Rotated オブジェクトを VBox 内に配置する短いプログラムがあります。回転に基づいて VBox の垂直サイズを調整する必要があります。次の例では、Text オブジェクトが接触してはなりません。

ここに画像の説明を入力

しかし、彼らはそうします。これを生成するコードは次のとおりです。

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 に追加されます (この例では、オレンジ色のボックスとテキストを回転させる必要があります)

これを機能させる方法についてのアイデアはありますか? ロバート

4

2 に答える 2