Java IntelliJ中的JFileChooser问题

Java IntelliJ中的JFileChooser问题,java,intellij-idea,jfilechooser,Java,Intellij Idea,Jfilechooser,我正在创建一个Java程序,它接收一个文本文件,每行数据中都有Person对象,由名称、SSN和电子邮件表示。该程序的目的是比较O(N*log(N))排序与随用排序方法(排序列表抽象数据结构以及哈希表)的效率。这些细节对眼前的问题并不重要 该程序通过如下方式提示用户: 分类和搜索实验室 选择输入和输出文件 收集人员并生成比较数据 堆排序后打印列表 搜索SSN 关闭文件 当用户按下时,1。JFileChooser将提示他们同时接收输入文件(人员数据)和输出文件(打印比较数据) 现在,在使用名为jg

我正在创建一个Java程序,它接收一个文本文件,每行数据中都有Person对象,由名称、SSN和电子邮件表示。该程序的目的是比较O(N*log(N))排序与随用排序方法(排序列表抽象数据结构以及哈希表)的效率。这些细节对眼前的问题并不重要

该程序通过如下方式提示用户:

分类和搜索实验室

  • 选择输入和输出文件
  • 收集人员并生成比较数据
  • 堆排序后打印列表
  • 搜索SSN
  • 关闭文件
  • 当用户按下时,1。JFileChooser将提示他们同时接收输入文件(人员数据)和输出文件(打印比较数据)

    现在,在使用名为jgrasp的IDE时,该程序工作得非常好。但是,随着我继续学习Java,我想切换到具有更多功能的IDE,我选择安装IntelliJ。我的程序仍然正常运行,但是,在按1选择文件时,JFileChooser对话框根本不会出现

    以下是创建JFileChooser并从中检索文件所涉及的主要方法:

    /** Creates and opens a JFileChooser.
      * @returns An open JFileChooser dialog box.
      */    
    public JFileChooser openJFileChooser() { 
        JButton open = new JButton();
        JFileChooser chooser = new JFileChooser();
        chooser.setCurrentDirectory(new java.io.File("."));
        chooser.setDialogTitle("Input Test Data");
        chooser.setMultiSelectionEnabled(true);
    
        FileNameExtensionFilter filter = new FileNameExtensionFilter("Text files","txt");
        chooser.setFileFilter(filter);
        if (chooser.showOpenDialog(open) == JFileChooser.APPROVE_OPTION) {}
        return chooser;
    }
    /** Returns an array of files chosen from the JFileChooser
      * @param A JFileChooser to pick files from.
      */                   
    public File[] openFiles(JFileChooser chooser) { 
        return chooser.getSelectedFiles();        
    }
    

    您确定从IntelliJ运行时会调用openJFileChooser()吗?如何读取“1”?输入中的换行符格式在jGRASP和IntelliJ中可能不同(/n vs/r/n)

    另外,根据您的描述,您可能正在从主线程调用Swing方法。如果是这样,您需要重新构造程序,因为这可能会导致随机错误。但这可能不是问题的原因