【问题标题】:Java: How to do GUI animations?Java:如何制作 GUI 动画?
【发布时间】:2012-02-05 17:51:37
【问题描述】:

到目前为止,我一直在使用 Java 及其 Swing GUI 框架,我从来没有完全弄清楚(甚至尝试过)如何使界面动画组件。

假设我希望屏幕向左滑动到下一个屏幕或让 JLabel “飞”到新位置。也许您希望菜单以动画方式顺利打开。这是如何工作的?

你必须使用 SwingWorker 吗?即使是这样......如果布局管理器已经在这样做,你怎么能控制组件的绘制?

【问题讨论】:

标签: java swing user-interface animation


【解决方案1】:

看看Filthy Rich Clients这本书,你会在那里找到一些非常好的答案。

【讨论】:

  • 这是一本好书。我听到作者在 Java One 上就该主题发表了演讲,他们与本书一样有趣且内容丰富。太糟糕了,他们被 Google 同化,现在为小屏幕 (Android) 写作。
  • +1,强烈推荐购买此书!我自己拥有它。 :D
【解决方案2】:

我认为没有理由使用 SwingWorker,SwingWorker 被指定用于在输出上运行长背景任务将在事件调度线程上,

Swing 中的动画有javax.swing.Timer,示例here

【讨论】:

  • 是的,但这涉及的不仅仅是来自纯paintComponent覆盖的定时动画。我在插值方面考虑更多。
  • @ghostsoldier23:一般来说,使用javax.swing.Timer来迭代一个view;使用SwingWorker 迭代一个模型
【解决方案3】:

看看Trident 库。您可以使用它来插入类中的各种属性。

【讨论】:

  • 有趣。它是根据时间线的概念来处理这个的?
  • @ghostsoldier23,是的,时间线和时间线场景,请查看 webstart demos
猜你喜欢
  • 2013-04-14
  • 2022-01-25
  • 1970-01-01
  • 2014-03-24
  • 1970-01-01
  • 2012-05-23
  • 1970-01-01
  • 2013-03-09
  • 1970-01-01
相关资源
最近更新 更多