2017-04-24 50 views
0

我正在創建一個Java程序,該程序在每行數據中都包含Person對象的文本文件,由Name,SSN和電子郵件表示。該程序的目的是比較O(N * log(N))排序與排序的效率,以及排序列表抽象數據結構以及散列表。這些細節對於手頭的問題並不重要。JFileChooser IntelliJ內部問題

該項目工程通過提示這樣的用戶:

排序和搜索實驗室

  1. 選擇輸入和輸出文件。
  2. 收集人員並生成比較數據。
  3. 堆分類後的打印列表
  4. 搜索SSN
  5. 關閉文件。

當用戶按下,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();   
} 

回答

0

你確定openJFileChooser()甚至被稱爲從IntelliJ運行時?你如何閱讀「1」?輸入中換行符的格式在jGRASP和IntelliJ(/ n vs/r/n)中可能不同。

此外,從您的描述看來,您可能會從主線程調用Swing方法。如果是這樣,你需要重組你的程序,因爲這可能會導致隨機錯誤。這可能不是你問題的原因。