Java+JavaFX2项目:模块化内容

Java+JavaFX2项目:模块化内容,java,javafx-2,modularity,modular,Java,Javafx 2,Modularity,Modular,我对java和JavaFX2相当陌生。 我想做的是一个应用程序,它基本上是一个容器,用于以后可以添加的单独模块 主应用程序应该是某种内容浏览器,可以扫描文件夹中的模块。 然后,您可以选择所需的模块,例如,一个小游戏,并在主应用程序中像框架一样打开它。我也希望它,如果我可以选择去全屏模块只,没有主应用程序。 主应用程序和模块还应能够进行通信,例如,发送难度或起始级别等设置,并接收分数/结果 你知道我应该如何在不失去相互沟通的情况下实现模块化吗 我试着在谷歌上查找,但我可能不知道正确的技术术语。。。

我对java和JavaFX2相当陌生。 我想做的是一个应用程序,它基本上是一个容器,用于以后可以添加的单独模块

主应用程序应该是某种内容浏览器,可以扫描文件夹中的模块。 然后,您可以选择所需的模块,例如,一个小游戏,并在主应用程序中像框架一样打开它。我也希望它,如果我可以选择去全屏模块只,没有主应用程序。 主应用程序和模块还应能够进行通信,例如,发送难度或起始级别等设置,并接收分数/结果

你知道我应该如何在不失去相互沟通的情况下实现模块化吗

我试着在谷歌上查找,但我可能不知道正确的技术术语。。。因此,任何帮助都将不胜感激

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


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

看看Java 6+中的ServiceLoader类,interweb上有很多关于它的文档,但要点是您可以要求它实现在类路径上配置的接口。例如,您可以使用以下界面:

interface AppPlugin {
    Node getContentNode();

    String getName();
}
插件需要实现这个接口,并配置为由ServiceLoader加载。请在此处查看教程:


非常感谢。我发现这个:,这比你给我的链接要简单一些。我仍然需要弄清楚如何用JavaFX2处理这个问题。在这个?上有任何输入吗?。再次感谢,非常感谢。没问题,我不确定您希望它看起来是什么样子,但您可以在ListView上看到所有插件的ListView良好的oracle文档,其中显示名称,以及一个中心面板,当选择列表中的某项时,将在其中设置插件的内容节点。假设服务接口与上面的示例类似。