IntelliJ中的JFileChooser问题

时间:2017-04-24 21:31:34

标签: java intellij-idea jfilechooser

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

程序的工作方式是提示用户:

排序和搜索实验室

  1. 选择输入和输出文件。
  2. 收集人员并生成比较数据。
  3. 堆排序后打印列表
  4. 搜索SSN
  5. 关闭文件。
  6. 当用户按下时,1。将提示他们使用JFileChooser接收输入文件(带有People的数据)和输出文件(比较数据将被打印等等。

    现在,在使用名为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();        
    }
    

1 个答案:

答案 0 :(得分:0)

从IntelliJ运行时,您确定甚至调用了openJFileChooser()吗?你是如何阅读" 1"? jGRASP和IntelliJ(/ n vs / r / n)中输入换行符的格式可能不同。

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