显示对话框时,JFileChooser导致UnsatisfiedLinkError

时间:2018-10-23 08:06:24

标签: java jfilechooser unsatisfiedlinkerror

我有一种打开 JFileChooser 并选择文件的方法。当调用 showOpenDialog 方法时,我得到一个异常,但是即使对话框打开,我也可以选择一个文件,然后继续执行程序(尽管除非我调用 System.exit(0), 最后,JVM不会停止运行。

public static File selectFile() {
    JFileChooser fc = new JFileChooser(Paths.get("").toAbsolutePath().toFile());
    if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { //Exception on This Line!!
        return fc.getSelectedFile();
    } else return null;
}

异常看起来像这样:

Exception in thread "EventQueueMonitor-ComponentEvtDispatch" java.lang.UnsatisfiedLinkError: no EnJavaJni in java.library.path
  at java.lang.ClassLoader.loadLibrary(Unknown Source)
  at java.lang.Runtime.loadLibrary0(Unknown Source)
  at java.lang.System.loadLibrary(Unknown Source)
  at com.encentuate.JNICall.<clinit>(JNICall.java:67)
  at com.encentuate.EncentuateAWTHook.guiInitialized(EncentuateAWTHook.java:41)
  at com.sun.java.accessibility.util.EventQueueMonitor.maybeNotifyAssistiveTechnologies(EventQueueMonitor.java:228)
  at com.sun.java.accessibility.util.ComponentEvtDispatchThread.run(EventQueueMonitor.java:631)

我不太了解问题所在。根据我在Google上的发现,它与调用无法找到的本机函数的方法有关,但是除了抛出异常之外,它仍然可以按“预期”的方式工作。

有关此问题的任何线索吗?

编辑:我的主要问题是程序即使完成也不会停止执行。如果可以解决,那么继续打印异常消息就不是什么大问题

1 个答案:

答案 0 :(得分:0)

这段代码似乎对我有用。我可以问你从哪里打电话吗?您在什么操作系统上?