我是java和javafx 2的新手。 我想做的是一个应用程序,它基本上是可以在以后添加的单独“模块”的容器。
主应用程序应该是某种内容浏览器,用于扫描文件夹中的模块。 然后,您可以选择所需的模块(例如,小游戏)并在主应用程序中打开它(如框架)。如果我可以选择全屏显示(仅限模块,没有主应用程序),我也会喜欢它。 主应用程序和模块也应该能够进行通信(例如,发送“难度”或“起始级别”等设置并接收分数/结果)。
您是否知道我应该如何实现模块化(不会失去互通)?
我试图在谷歌上查一下,但我可能不知道正确的技术术语......所以,任何帮助都将不胜感激!
注意:我是一个GUI菜鸟(我的大多数编程经验都是基于CLI而且是低级别的。)
编辑:很奇怪,它删除了“嗨!”从第一行...我猜有些规则迫使我们粗鲁;)......
答案 0 :(得分:1)
看一下Java 6+中的ServiceLoader类,在interweb上有很多关于它的文档,但它的要点是你可以要求它在配置的类路径上找到的接口的实现。例如,您可以使用以下界面:
interface AppPlugin {
Node getContentNode();
String getName();
}
然后,插件需要实现此接口并配置为由ServiceLoader加载。在这里查看教程:
http://weblogs.java.net/blog/timboudreau/archive/2008/08/simple_dependen.html