我是 java 和 javafx 2 的新手。 我想要做的是一个应用程序,它基本上是一个容器,用于放置以后可以添加的单独“模块”。
主要应用程序应该是某种内容浏览器,用于扫描文件夹中的模块。 然后,您可以选择所需的模块(例如,一个小游戏)并在主应用程序(如框架)中打开它。如果我可以选择全屏显示(仅模块,没有主应用程序),我也会喜欢它。 主应用程序和模块也应该能够通信(例如,发送“难度”或“起始级别”等设置并接收分数/结果)。
您知道我应该如何实现模块化(同时不失去相互通信)吗?
我试图在 Google 上查找它,但我可能不知道正确的技术术语...因此,我们将不胜感激!
注意:我是一个 GUI 菜鸟(我的大部分编程经验都是基于 CLI 的,而且水平相当低)。
编辑:奇怪,它删除了“嗨!”从第一行开始……我想有些规则迫使我们变得粗鲁;)……
最佳答案
看看 Java 6+ 中的 ServiceLoader 类,互联网上有大量关于它的文档,但其要点是您可以请求它实现在配置的类路径上找到的接口(interface)。例如,您可以拥有以下界面:
interface AppPlugin {
Node getContentNode();
String getName();
}
然后插件需要实现此接口(interface)并配置为由 ServiceLoader 加载。在此处查看教程:
http://weblogs.java.net/blog/timboudreau/archive/2008/08/simple_dependen.html
关于Java+JavaFX2 项目 : modular content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12761856/