2

我对 java 和 javafx 2 还很陌生。我想做的是一个应用程序,它基本上是一个用于以后可以添加的单独“模块”的容器。

主应用程序应该是某种内容浏览器,用于扫描文件夹中的模块。然后,您可以选择所需的模块(例如,一个小游戏)并在主应用程序中打开它(如框架)。如果我可以选择全屏显示(仅模块,没有主应用程序),我也会喜欢它。主应用程序和模块也应该能够通信(例如,发送“难度”或“起始级别”等设置并接收分数/结果)。

您知道我应该如何实现模块化(不丢失相互通信)吗?

我试图在谷歌上查找它,但我可能不知道正确的技术术语......所以,任何帮助将不胜感激!

注意:我是一个 GUI 菜鸟(我的大部分编程经验都是基于 CLI 的,而且相当低级)。

编辑:奇怪,它删除了“嗨!” 从第一行开始......我想有些规则迫使我们变得粗鲁;)......

4

1 回答 1

1

看看 Java 6+ 中的 ServiceLoader 类,互联网上有很多关于它的文档,但它的要点是你可以向它询问在配置的类路径上找到的接口的实现。例如,您可以具有以下界面:

interface AppPlugin {
    Node getContentNode();

    String getName();
}

然后插件需要实现此接口并配置为由 ServiceLoader 加载。在此处查看教程:

http://weblogs.java.net/blog/timboudreau/archive/2008/08/simple_dependen.html

于 2012-10-07T12:29:50.153 回答