Java - ZUI (Zoomable User Interface)

拈花ヽ惹草 提交于 2019-12-05 22:40:26

all I have is the core Java 7 JDK, can anyone suggest a good starting point?

I'd recommend using JavaFX.

  1. JavaFX is included in the core Oracle Java 7 (and Java 8) JDKs and runtimes.
  2. The JavaFX Architecture includes a comprehensive scene graph.
  3. JavaFX has inbuilt facilities for scene graph transforms such as scaling, translating, layering, animating, transitioning, etc.
  4. JavaFX performs hardware accelerated rendering.
  5. You get scalable video playback using modern codecs like H.264.
  6. JavaFX includes a comprehensive vector based control set that looks good as it zooms in and out.
  7. HiDPI support for retina displays, etc. is included (in Java 8).
  8. Hardware accelerated 3D object model rendering within the JavaFX scene graph (in Java 8).
  9. You can define UI declaratively using FXML and interactively using SceneBuilder - side issue, but might make development easier for you.
  10. The JavaFX project is open source and under active development.
  11. JPedal provide a 3rd party pdf viewer for JavaFX which you could use for viewing scalable pdf documents.
  12. JavaFX includes an HTML viewer (with zoom capabilities in Java 8).

Implementation Considerations

My guess (and this is purely my opinion) is that it is going to be a whole lot easier for you to implement this particular project in JavaFX than it would be in vanilla Swing because the underlying JavaFX technology and capabilities more closely match your requirements.

Obviously, no matter what technology you choose, to implement something as comprehensive as Eagle Mode would still be a lot of work and would require native extensions outside of the Java system (in order to display virtual desktops, etc.).

The JavaFX recommendation is from a "all I have is the core Java 7 JDK" standpoint. Systems such as ZVTM have supporting functionality and APIs for ZUI building which no JavaFX application (to my knowledge) yet includes (e.g. lens views, portal views, mapping UIs to large multi-screen arrays, etc). Uf you have the flexibility of using a pre-built library such as ZVTM, it should be seriously evaluated against your project requirements.

Scope Recommendation

To make the project more easily manageable, restrict the initial implementation requirements to a ZUI based filesystem viewer rather than a fully functional ZUI desktop UI.

JavaFX ZUI Samples

Best of luck with your project . . .

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!