我使用 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;
}
我附加到矩形的处理程序允许我将矩形拖动到窗口中的任何位置。如何将文本放置在矩形内,以便当我在屏幕上拖动形状时文本保持对齐?
正如最后一个例子所示here https://stackoverflow.com/a/37370840/230513, the 动画基础知识 https://docs.oracle.com/javase/8/javafx/visual-effects-tutorial/basics.htm例子TimelineEvents
通过添加一个来做到这一点Circle
还有一些Text
to a StackPane https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/StackPane.html,默认情况下将其子项居中。然后可以在封闭的范围内移动堆栈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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)