用于交互式动画的 Java Swing 与 HTML5 Canvas
Posted
技术标签:
【中文标题】用于交互式动画的 Java Swing 与 HTML5 Canvas【英文标题】:Java Swing vs HTML5 Canvas for interactive animations 【发布时间】:2011-05-13 23:58:20 【问题描述】:我想创建一个类似于Visual Thesaurus 提供的交互式动画。我正在评估我可以采用的不同技术,我想知道 在 Java 小程序中使用 Swing 或在 HTML5 中使用其画布实现图形可视化的优缺点是什么(我只知道他们的名字)
我知道 Java 和一点 javascript,我想避免使用专有技术
编辑:最重要的是:HTML 5 画布是否支持事件监听器,就像it seems to me Swing 那样?
【问题讨论】:
不考虑 Flash 或 Silverlight? @Adam 我会说他应该在这里使用 Flash,Silverlight ......甚至 MS 都说它只希望在电话上使用 Silverlight。画布是当前状态下的野兽。 @Ivo - 我同意。除非他需要 ios 支持,在这种情况下画布是最好的。查看 Visual Thesaurus,可能可以使用 SVG 和 JavaScript 来实现,这可能是 RaphaelJS 库的帮助。 好吧,我告诉了“我可以采用的不同技术”,但我实际上打算使用 java 与 html,因为我是一名 java 程序员并且知道一点 javascript。我也不想使用专有技术 @cdarwin 然后转到 HTML,Applet 已损坏无法修复。例如在Linux下,一旦苹果失去焦点,键盘输入就不起作用了。 【参考方案1】:我会选择 RaphaelJS http://raphaeljs.com/ 这是一个非常好的 Javascript 图形库。它不是基于 HTML5(画布)的,而是使用矢量 SVG(和 VML)图形,但它可以在大多数浏览器(甚至更旧的 IE)上运行。如果您想要内置图表,请参阅http://g.raphaeljs.com/
另外,这是一个主要的优点,你不会被限制使用小程序。
这里有一些 raphaelJS 示例:http://raphaeljs.com/graffle.htmlhttp://raphaeljs.com/curver.html
【讨论】:
【参考方案2】:使用 Java,您可以使用 prefuse,这样您将节省大量时间。不知道html5有没有类似的api,没有的话就自己写吧。
Here 是一个使用 prefuse 的例子
优点是您不必处理浏览器之间的不兼容问题。 缺点是客户端机器上可能没有安装 jvm。
您还必须考虑您对每项技术的熟练程度。
【讨论】:
还有“Flare”,它基本上是 Actionscript flare.prefuse.org的一个前置端口以上是关于用于交互式动画的 Java Swing 与 HTML5 Canvas的主要内容,如果未能解决你的问题,请参考以下文章
Java swing 动画看起来很不稳定。如何让它看起来很专业?