1

我对 .js 很陌生Trident Animation Library,但我设法将它用于我的动画并且效果非常好。

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

下面是我的伪代码

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)。

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

4

1 回答 1

0

这是我首先想到的事情:

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

于 2012-05-10T21:41:23.470 回答