我有一些java代码用于3个上下文中的缩放动画:1。alt-scroll,2。按下按钮时静态150ms动画(睡眠时间为10ms的循环),以及3.通过点击 - 按住线程中的循环完成的按钮(一个100ms睡眠的循环,只要按住鼠标按钮,它就会继续缩放)。
每个机制调用相同的方法进行缩放增量。在该方法中,独立管理每个轴上的缩放(即缩放x并缩放y)。
然而,虽然机制#1& #2工作得很好,我遇到#3问题。有时重绘是在流中进行的,这意味着有时会在每个维度更新之间触发重绘,这会导致缩放动画看起来不稳定。
我尝试了不同方法的多种变体来控制重新绘制以获得不同程度的成功。
也许我只是没有弄清楚调用内容的正确顺序。有谁知道如何管理它?我怀疑发生这种情况的原因是因为更新是从线程生成的,而其他机制是串行发生的,但我知道没有其他方法可以使用swing来检测按钮按下时的点击保持事件。