java - 如何在 SpringBoot 2 中使用 JFileChooser?
问题描述
只是想在 SpringBoot 2 中运行一个文件选择器对话框,但我得到了java.awt.headless异常,代码如下:
String returnFileName = "No file selected.";
JFileChooser getFile = new JFileChooser();
JFileChooser fileChooser = new JFileChooser();
fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
int result = fileChooser.showOpenDialog(getFile);
if (result == JFileChooser.APPROVE_OPTION)
{
File selectedFile = fileChooser.getSelectedFile();
returnFileName = selectedFile.getAbsolutePath();
}
return returnFileName;
}
我的 Spring 应用程序尝试以这种方式设置无头属性(使用底部的 SO 链接):
@SpringBootApplication
public class Application extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder applicationBuilder)
{
return applicationBuilder.sources(Application.class);
}
public static void main(String[] args)
{
// SpringApplication.run(Application.class, args);
SpringApplicationBuilder builder = new SpringApplicationBuilder(Application.class);
builder.headless(false);
ConfigurableApplicationContext context = builder.run(args);
}
}
这不起作用。当fileChooser.getSelectedFile()运行时,我收到一个带有“java.awt.headless”异常的调用错误。
我还尝试了我在这里看到的另一个建议:
System.getProperty("java.awt.headless", "false"); 在方法代码本身中,但这也不起作用——仍然得到无头异常。
Spring Boot:java.awt.HeadlessException
将不胜感激任何见解我做错了什么。
解决方案
推荐阅读
- performance - 提高 RestApi 命中共享点文件夹的性能
- javascript - 原型链如何在 Javascript 中工作?
- java - actionListener 内部的 JTextField.getText() 无法返回正确的字符串
- javascript - 在类主体中定义函数而不是在构造函数中
- node.js - 使用 Node.js 中的 findByIdAndUpdate 方法更新 mongoDB 中的文档,其中用户模型具有唯一键“电子邮件”
- reactjs - 如何防止 Redux Dispatch 在挂载时被调用?
- mongodb-atlas-search - MongoDB全文搜索,两个字段的自动完成
- json - Kafka 流作为事件丰富附加到 JSON
- python - 已安装 pyaudio,“没有名为 'pyaudio' 的模块”
- c# - EF Core多对多相同对象出错