2012-07-11 99 views
2

我在将包含Swing和JavaFX组件的应用程序打包到JAR文件时遇到问题。从Eclipse运行它很好。但是当执行Jar时,会发生错误:运行main方法,这会调用我的应用程序的构造函数。构造函数调用initAndShowGUI()方法,该方法尝试创建JFXPanel以供稍后添加到JFrame,但失败并显示以下错误消息:Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Can't load library: C:\Users\User\bin\glass.dll。这个库似乎是JavaFX所需要的,但不知何故未加载。 “纯粹的”JavaFX应用程序(没有Swing)称之为JFX的“预初始化”方法,用于加载所有需要的库,我认为(我不完全确定)。另外,我找到了关于如何部署Java Web Start应用程序或小应用程序(http://docs.oracle.com/javafx/2/deployment/deploy_swing_apps.htm)的信息,但没有提供有关“标准”JAR的信息。将带JavaFX组件的Swing应用程序打包为可执行文件JAR

以前有人做过这个吗?我一直在寻找一个解决方案,但一直没有找到。非常感谢帮助!

回答

1

可能你的问题与包装有关。

你是如何打包应用程序的?

例如:

我知道(至少)最后两个将工作与JavaFX组件构建一个Swing应用程序到一个可执行的jar。

SwingInterop示例包含一个用于将示例打包到可执行jar中的ant脚本。样品可从javafx download site下载。

我强烈建议阅读Why should I use the JavaFX ant tasks for packaging my Swing application?哪篇文章还包含SwingInterop示例构建文件的源代码。

相关问题