我正在尝试使用DirectoryChooser类的问题。我在Windows下编写了代码并对其进行了测试并且工作得很好。我在我的Ubuntu 16.04计算机上编译了运行的.jar,当调用DirectoryChooser.showDialog()方法时,应用程序崩溃了。我尝试调试它,崩溃的确切点在返回的valor赋值中,这是:
File file = fc.showDialog(primaryStage);
我试过没有分配到文件变量并且对话框显示正确,但显然我没有文件夹路径:/。
我把整个代码:
private EventHandler<MouseEvent> onLblFolderMouseButtonReleased = new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if(event.getButton() == MouseButton.PRIMARY){
DirectoryChooser fc = new DirectoryChooser();
if(screenshotsSaveDir != null && screenshotsSaveDir.isDirectory()){
fc.setInitialDirectory(screenshotsSaveDir);
} else {
fc.setInitialDirectory(new File(System.getProperty("user.home")));
}
fc.setTitle(rb.getString("select_folder_dialog_title"));
File file = fc.showDialog(primaryStage);
if (file != null) {
prefs.put(SAVE_PATH, file.getPath());
lblFolder.setText(file.getPath());
screenshotsSaveDir = file;
screenshotsSavePath = file.getPath();
}
}
}
};
返回异常,致命错误,有问题的框架:C [libpthread.so.0 + 0x9d84] pthread_mutex_lock + 0x4
向某人提出任何建议。
答案 0 :(得分:0)
我终于找到了问题。我正在使用JNative Hooks库。我在以前的项目中使用它,并且在Linux下都可以正常工作。在这个新项目中,我使用的是2.0.3版,我开始尝试解决问题。我回滚到JNative Hooks的2.0.2版本,一切正常。