如何在Javafx中将文本插入形状?

如何在Javafx中将文本插入形状?,java,javafx,Java,Javafx,使用JavaFX,我创建了一个简单的矩形对象,我希望能够在该矩形内放置一个文本对象,并使其在该矩形内自动保持对齐。我必须绘制矩形的代码是: public static Scene createScene() { Group root = new Group(); Scene scene = new Scene(root, Color.ALICEBLUE); Rectangle rectangle_red = new Rectangle();

使用JavaFX,我创建了一个简单的矩形对象,我希望能够在该矩形内放置一个文本对象,并使其在该矩形内自动保持对齐。我必须绘制矩形的代码是:

public static Scene createScene() {
        Group root = new Group();
        Scene scene = new Scene(root, Color.ALICEBLUE);

        Rectangle rectangle_red = new Rectangle();

        rectangle_red.setFill(Color.TRANSPARENT);
        rectangle_red.setStroke(Color.BLACK);
        rectangle_red.setX(50);
        rectangle_red.setY(50);
        rectangle_red.setWidth(200);
        rectangle_red.setHeight(100);
        rectangle_red.setCursor(Cursor.HAND);
        rectangle_red.setOnMousePressed(circleOnMousePressedEventHandler);
        rectangle_red.setOnMouseDragged(circleOnMouseDraggedEventHandler);        

        root.getChildren().add(rectangle_red);    

        return scene;
    }

我附加到矩形的处理程序允许我将矩形拖动到窗口中的任何位置。如何将文本放置在矩形内,使其在屏幕上拖动形状时保持对齐?

如上一个示例所示,示例
TimelineEvents
通过向a添加一个
圆圈和一些
文本来实现这一点,默认情况下,a将其子对象居中。然后可以将堆栈作为一个单元在封闭的
组中移动

final Circle circle = new Circle(…);
final Text text = new Text (…);
final StackPane stack = new StackPane();
stack.getChildren().addAll(circle, text);
…
stack.setLayoutX(30);
stack.setLayoutY(30);