我目前正在做一个需要显示大量数据的小型个人项目,我突然想到实现一种可缩放的用户界面,以允许用户浏览大量的数据。
我知道一些现有的项目,如ZVTM和Piccolo2d,我可能最终会在工作中使用这些项目,但是我也很想开始编写自己的项目。不过,我有点不确定该怎么开始。
据我所读,像Piccolo2d这样的项目似乎是由于Java内部缺乏“场景图”管理而开发的,而Piccolo2d则是根据“Pad”、“Pad++”和“Jazz”等老项目的工作开发的。
在快速搜索了一下之后,我可以看到场景图管理在JavaFX中是可用的,但是我想知道在Java7中Swing是否有这种功能。
我有一点想法,我想知道是否可以使用JLayer API实现一个基本的缩放接口,本质上是根据当前的缩放级别来装饰一个具有不同层的对象。
举个例子,假设我能在最远的缩放级别看到一个目录,然后放大显示目录的内容,进一步放大会显示该目录中的文件中的文本。我已经和鹰模式玩了很长一段时间了,所以这是我所想的一个完美的例子。
我知道这是个很长的问题(如果真的是个问题的话)。因此,从本质上说,让我们假设Piccolo等人并不存在,而我所拥有的只是核心的Java 7 JDK,有人能提出一个好的起点吗?
看来Piccolo2d在很大程度上是基于Java2d API的,所以我想知道这个API到底是已经进步了,或者是Java7引入了新的机制来实现类似的效果。
我会感兴趣的任何投入或建议,可以提供。我知道这不是一个容易的任务,但没有任何时间限制,这只是一个个人项目。
谢谢
发布于 2013-08-15 19:36:47
我所拥有的只有核心的Java 7 JDK,有人能建议一个好的起点吗?
我建议使用JavaFX。
执行方面的考虑
我的猜测(这完全是我的观点)是,在JavaFX中实现这个特定项目要比在普通Swing中实现这个项目要容易得多,因为底层的JavaFX技术和功能更符合您的需求。
显然,无论您选择何种技术,实现像Eagle模式这样全面的东西仍然需要大量工作,并且需要在Java系统之外进行本地扩展(以便显示虚拟桌面等等)。
JavaFX建议是从“我仅有的核心Java7JDK”的观点出发的。像ZVTM这样的系统具有支持ZUI构建的功能和API,但没有JavaFX应用程序(据我所知)包含(例如镜头视图、门户视图、将UI映射到大型多屏幕数组等)。Uf您有使用像ZVTM这样的预构建库的灵活性,应该根据您的项目需求对它进行认真的评估。
范围建议
为了使项目更容易管理,将初始实现需求限制在基于ZUI的文件系统查看器上,而不是功能齐全的ZUI桌面UI上。
JavaFX ZUI样本
祝你的项目好运。。。
https://stackoverflow.com/questions/18257887
复制相似问题