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

Joh*_*eed 2 java javafx

使用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;
    }
Run Code Online (Sandbox Code Playgroud)

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

tra*_*god 7

正如看到的最后一个例子说明这里动画基础例如TimelineEvents通过将做到这一点Circle,有些TextStackPane,默认情况下它的中心儿童.然后,堆叠可以Group作为一个单元在封闭内移动 .

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);
Run Code Online (Sandbox Code Playgroud)

图片