Java 向外部jar公开JPanel

Java 向外部jar公开JPanel,java,swing,jar,jpanel,Java,Swing,Jar,Jpanel,我有一个Java SWING程序,基本上只有一个简单的窗口。该窗口包含一个菜单和一个JPanel。理想情况下,我希望使用菜单选择一个外部jar文件(另一个SWING程序)并运行它。然后jar应该在后台执行,并在我的窗口中使用JPanel,而不是自己创建一个新窗口。 这可能吗?我的猜测是,我应该以某种方式向外部应用程序“公开”或“提供”我的JPanel,但我不知道如何才能做到这一点。即使是一个简单的代码片段也会非常感激。非常感谢您需要在自定义类加载器中加载外部的Jar,以使其可供您的应用程序运行。

我有一个Java SWING程序,基本上只有一个简单的窗口。该窗口包含一个菜单和一个JPanel。理想情况下,我希望使用菜单选择一个外部jar文件(另一个SWING程序)并运行它。然后jar应该在后台执行,并在我的窗口中使用JPanel,而不是自己创建一个新窗口。
这可能吗?我的猜测是,我应该以某种方式向外部应用程序“公开”或“提供”我的JPanel,但我不知道如何才能做到这一点。即使是一个简单的代码片段也会非常感激。非常感谢

您需要在自定义类加载器中加载外部的
Jar
,以使其可供您的应用程序运行。像这样的人应该能够做到这一点

您的应用程序和外部Jar应该使用一个公共的、已知的接口,它们可以通过该接口进行通信。这允许您加载外部jar,查找并加载所需的“entry”类并运行它

这个
接口
应该提供某种通知/回调机制的注册(也称为侦听器),应用程序可以将其附加到外部“任务”上,然后外部类可以使用它向应用程序提供更改通知

在可能的情况下,您应该避免将更多的应用程序暴露在外部Jar中。这降低了外部Jar干扰应用程序的风险,或者实际上,甚至需要关心它

根据需要,您可以使用和

更多关于

的信息,请看一看。我希望它能在某些方面对你有所帮助:-)下面的答案与你所期望的方向一致。虽然我的链接中的答案与情况无关,但它可能会帮助您理解如何在给定项目中使用外部jar。