gpt4 book ai didi

Java - Trident 动画库 - 容器调整大小时反射(reflect)插值

转载 作者:行者123 更新时间:2023-12-01 05:20:05 24 4
gpt4 key购买 nike

我对Trident 动画库还很陌生,但我设法将其用于我的动画,而且效果非常好。

我的要求是基本上为 JComponent 从容器的一个角到容器的中间设置动画。

下面是我的伪代码

this.setLayout(null);    
JButton button = new JButton();
button.setLocation(new Point (0,0));
Point center = new Point(getWidth()/2, getHeight()/2);
Timeline timeline = new Timeline(notification.getComponent());
timeline.addPropertyToInterpolate("location", button .getLocation(), center );
timeline.setDuration(1000);
timeline.play();

现在,当我的容器调整大小时,容器的中心会发生变化。例如:如果容器的初始中心为 (100,100),并且在容器调整大小后,新中心为 (200,200)。

有什么方法可以在插值时反射(reflect)新的中心,以便组件移动到 (200, 200) 而不是 (100, 100)?请帮忙。

最佳答案

这是我首先想到的事情:

开始时存储当前窗口/面板大小。在每个时间轴上“勾选”检查当前窗口/面板大小是否与您开始时的不同(即面板已调整大小)。如果其大小已调整,则停止当前时间线并基于新面板中心使用新路径创建新时间线。

关于Java - Trident 动画库 - 容器调整大小时反射(reflect)插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10536229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com