JavaFX 元素在动画之前对齐

标签 java user-interface javafx fxml

我正在使用 JavaFX 开发一个小型 GUI 来完成作业。以前从未使用过 JavaFX,我使用或学到的大部分内容都是我自己研究的。我的大部分应用程序运行顺利,包括动画。

我有一个小的用户输入部分:

Small user input GUI

我试图让它在加载下一个场景之前向左滑动,给用户一种顺序的印象。我使用由 TranslationTransitions 填充的 ParallelTransition 实现了这一点,在其中加载所有这些节点。

但是,就在它开始动画之前,它似乎将所有内容都对齐了。

Alignment right before animation

我有一种感觉,这与我在其中放置这些对象的容器(AnchorPane)有关,或者与我未设置的某些未定义属性有关。由于我是在匆忙中学习这一切,因此缩小范围有点困难。谁能告诉我造成这种情况的原因以及如何保持对齐?每个节点按以下方式移动:

translateTransition.setFromX(node.getLayoutX());
translateTransition.setToX(node.getLayoutX()-500.00);

如果我遗漏了任何相关信息,请告诉我!

最佳答案

所以,我的问题出在我布置对象的方式上。将它们放置在仅具有特定属性的任意 AnchorPane 中来定位这些项目意味着,在动画时,它将对这些对象进行分组并相应地对它们进行动画处理。这是布局这些节点的错误方法。

相反,我将它们放置在 VBox 中,这有两个优点。

  1. 我可以对齐 VBox 中心的内容,因此不需要指定元素的确切布局属性。

  2. 我可以使用单个 VBox 来制作动画,而不是使用 ParallelTransition 中的所有元素。因此,VBox 节点上的单个 TranslateTransition 就足够了!

关于JavaFX 元素在动画之前对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40453523/

相关文章:

java - FXML如何设置选择框默认值

java - Android 中的 WorkManager Schedule_requested_at time 等于 -1。什么意思?

java - Maven EAR 项目分发用于多个应用程序服务器?

algorithm - 如何在在线绘图应用程序中为随机用户客户端唯一分配颜色/线条图案?

javascript - 网页检查器模式下的 JavaFX 和 Firebug Lite

java - 如何确保 JavaFX 已安装(尤其是在 Ubuntu 上)?

java - 使用远程容器时 Jade DispatcherException 问题

java - 使用 Java 流的此循环的 Aggregate/Reduce 版本是什么?

java - 如何在java中跨面板拖动组件

java - Android:使用按钮更新 UI?