我对java和javafx2还是个新手,我想做的是一个应用程序,它基本上是一个容器,里面有单独的“模块”,可以在以后添加。
主应用程序应该是某种类型的内容浏览器,用于扫描文件夹中的模块。然后,您可以选择所需的模块(例如,一个小游戏),并在主应用程序中打开它(如框架)。如果我可以选择全屏显示(只使用模块,不使用主应用程序),我也会很高兴。主应用程序和模块还应该能够通信(例如,发送“难度”或“起始级别”等设置并接收分数/结果)。
你知道我应该如何实现模块化(而不会丢失内部通信)吗?
我试着在谷歌上查找,但我可能不知道正确的技术术语……因此,任何帮助都将不胜感激!
注意:我是GUI新手(我的大部分编程经验都是基于CLI的,而且是相当低级的)。
编辑:奇怪,它去掉了"hi!“从第一行开始...我猜有一些规则迫使我们变得粗鲁;)……
发布于 2012-10-07 20:29:50
看看Java中的ServiceLoader类,在6+上有很多关于它的文档,但它的要点是,您可以向它请求在类路径上找到的接口的实现。例如,您可以具有以下接口:
interface AppPlugin {
Node getContentNode();
String getName();
}然后,插件需要实现此接口,并配置为由ServiceLoader加载。请在此处查看教程:
http://weblogs.java.net/blog/timboudreau/archive/2008/08/simple_dependen.html
https://stackoverflow.com/questions/12761856
复制相似问题