首页 > 解决方案 > 如何在 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

将不胜感激任何见解我做错了什么。

标签: javaspringswingspring-bootjfilechooser

解决方案


推荐阅读