我正在尝试开发JavaFX应用程序。我已经创建了一个插件系统。我的应用程序由一个GridPane组成,有4个地方,我想插入4个AnchorPanes。
我希望这个AnchorPanes成为插件。我有以下架构:
My Application
+ src
+ controller
+ view
+ Main.java
+ res
+ lib
+ plugin
+ plugin.jar
+ plugin
+ Controller.java
+ view.fxml
我想用一个加载器动态调用我的插件。
FXMLLoader loader = new FXMLLoader();
loader.setLocation(new URL(path));
pane = loader.load();
如果我不接触任何内容,我会收到以下错误:
java.lang.ClassNotFoundException: plugin.Controller
如果我右键单击我的.jar并选择" Add as library"在我的IDE中,它完美运行。但是,我想动态添加我的插件,所以我不能做这个操作。我认为这是ClassPath的一个问题,但我不知道如何解决它。
答案 0 :(得分:0)
最好加载插件主类和主方法然后你可以加载fxml文件,它也将加载fxml的控制器。 最后将窗格对象(FXML NODE)返回到基础应用程序。