【发布时间】:2019-08-18 09:18:46
【问题描述】:
我有一个用于绘制不同形状(圆形、三角形、正方形等)的简单 Swing 应用程序。它的工作原理是这样的:您必须选择形状类型,单击应用程序窗口中的某个位置,然后在您单击的位置绘制所选形状。而且我必须添加一个功能,允许通过插件在运行时添加新的形状(类)。
插件是一个文件,它以某种方式描述了一个新的形状(类)及其功能,并且存在于系统的某个位置(在某个文件夹中)。
我的问题:最好的实现方式是什么?您可以推荐哪些方法、库和资源?
我找到了一些关于 JPF(Java 插件框架)的信息,但我不确定这是否是我所需要的,因为它看起来非常庞大并且似乎用于其他目的(也许我错了) .
谢谢。
【问题讨论】:
-
我会将自定义形状类放入 jar 中,并在您的主应用程序中实现选择和加载 jar 的功能(请参阅 URLClassLoader)。您还可以使用此处给出的示例检查 jar 中的类:stackoverflow.com/questions/3429275/…
-
您可以使用 [Creating Extensible Applications ](docs.oracle.com/javase/tutorial/ext/basics/spi.html) 文档中描述的 ServiceLoader。
标签: java dynamic plugins runtime