【问题标题】:Launch a swing application by using an eclipse plugin button使用 Eclipse 插件按钮启动 Swing 应用程序
【发布时间】:2017-03-21 11:54:07
【问题描述】:

我目前正在尝试将 Swing 应用程序集成为 Eclipse 插件。 我的工作区中有两个单独的项目: - 我的应用程序 - 我的插件

要启动我的应用程序,我只需要调用 com.[...].Desktop.instance();当我单击按钮时,来自 MyApplication 中的 Desktop.java。 我只想让它先启动,所以它真的很基础。

这是我的代码:

public void run(IAction action) {

com.[...].Desktop.instance();

}

这是我得到的错误:

!ENTRY org.eclipse.ui 4 0 2017-03-21 12:33:18.862
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NoClassDefFoundError: com/.../Desktop
at boutton_test.actions.SampleAction.run(SampleAction.java:44)
...

在我的插件项目“properties”->“Java Build Path”->“Projects”MyApplication 中添加的很好,所以我不太明白为什么会出现这样的错误。

我也试过这样的:

try {
Process MyApplication = Runtime.getRuntime().exec("javac Desktop.java");
MyApplication.waitFor();
} catch (IOException | InterruptedException e1) {
  e1.printStackTrace();
}

但是当我点击按钮时,什么也没有发生,我在日志中什么也没有。 有什么想法吗?

【问题讨论】:

  • 在与 Eclipse(即 SWT)相同的 JVM 中运行 Swing 应用程序很困难,并且确实需要您使用 SWT_AWT 桥接类。
  • @greg-449 好的,谢谢,我会在桥牌课程周围寻找解决方案,稍后更新这篇文章。

标签: java eclipse swing button plugins


【解决方案1】:

所以我找到的解决方案是使用来自 MyApplication 的 .jar 从现有的 JAR 档案创建一个名为 MyApplicationplug 的新插件。

然后在 MyPlugin 中将其添加到依赖项中,Manifest.MF -> Dependencies -> Add... -> MyApplicationplug

它以某种方式工作而不会与 JVM 发生冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多