使用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;
}
我附加到矩形的处理程序允许我将矩形拖动到窗口中的任何位置。如何在矩形中放置文本,使其在屏幕上拖动形状时保持对齐?
答案 0 :(得分:5)
如上一个here示例所示,Animation Basics示例TimelineEvents
通过向{{3}添加Circle
和一些Text
来实现此目的默认情况下,它的子项居中。然后,堆栈可以作为一个整体在封闭的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);