【发布时间】:2018-10-23 08:06:24
【问题描述】:
我有一种方法可以打开 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)
我不太明白问题是什么。从我通过谷歌可以找到的内容来看,它与调用无法找到的本机函数的方法有关,但除了抛出异常之外,它仍然可以“预期”工作。
关于这个问题的任何线索?
编辑:我遇到的主要问题是程序即使完成也不会停止执行。如果能解决的话,一直打印异常信息就不是什么大问题了
【问题讨论】:
-
您可能缺少
libattach.dll或libattach.so -
可能,但我以前在其他计算机上从未遇到过此问题。除了系统上应该可用的标准文件选择器之外,它不需要任何其他东西(否则,我什至如何选择保存下载文件的位置)
标签: java swing jfilechooser unsatisfiedlinkerror