2014-03-06 39 views
0
 if ("Analyze Text File".equals(command)) { 
    JFileChooser chooser = new JFileChooser(); 
    chooser.setMultiSelectionEnabled(true); 
    if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) { 
     File[] files = chooser.getSelectedFiles(); 
     for (File file : files) { 
      try { 
       BufferedReader reader = new BufferedReader(new FileReader(file)); 
        sb.append(line); 
       } 
       String text = sb.toString(); 
       Map<Integer, Integer> counts = getCounts(text) 
       HistogramPanel panel = new HistogramPanel(width, counts, height, horizon 
      } catch (Exception ex) { 
       ex.printStackTrace(); 
      } 
     } 
    } 

我試圖讓一個JFileChooser彈出一次我點擊我的「分析文本」按鈕,然後將允許用戶選擇將與我的代碼,並輸出一個酒吧被處理的文本文件圖表。
除了出於某種原因按鈕外,所有的東西都在工作。如果有人能幫助它,將不勝感激。Java Applet的JFileChooser按鈕問題?

// Object textfile = null; 
    else if("Text".equals(command)) { 
    JFileChooser chooser = new JFileChooser(); 
    FileNameExtensionFilter filter = new FileNameExtensionFilter(
      "txt", "text", "docx"); 
     chooser.setFileFilter(filter); 
int returnVal = JFileChooser.showOpenDialog(null); 
     if (returnVal == JFileChooser.APPROVE_OPTION) { 
      File file = JFileChooser.getSelectedFile(); 
      Map<Integer, Integer> counts = getCounts(Stext); 
      int width = counts.size() * BAR 
      int horizon = height - 25; 
      HistogramPanel panel = new HistogramPanel(width, counts, height, horizon); 

     } 
    } 
    } 

回答

1

「當我點擊我的」分析文本「按鈕,」

可能是也許actionCommand不"Text",你應該檢查是否"Analyze to text"

if ("Text".equals(command)) {if ("Analyze to Text".equals(command)) {

// or whatever the text/actionCommand of your button is

另一個看似明顯的問題,就是你已經宣佈JFileChooser chooser但你試圖訪問filechooser


UPDATE

使用此代碼。改變你的按鈕文字回來。如果它不起作用,那麼你在你的代碼中改了一些其他的東西,而我無法幫助,因爲這對我來說工作得很好。

if ("Analyze Text File".equals(command)) { 
     JFileChooser chooser = new JFileChooser(); 
     int result = chooser.showOpenDialog(null); 
     if (result == JFileChooser.APPROVE_OPTION) { 
      try { 
       File file = chooser.getSelectedFile(); 
       BufferedReader reader = new BufferedReader(new FileReader(file)); 
       StringBuilder sb = new StringBuilder(); 
       String line; 
       while ((line = reader.readLine()) != null) { 
        sb.append(line); 
       } 
       String text = sb.toString(); 
       Map<Integer, Integer> counts = getCounts(text); 
       int width = counts.size() * BAR_WIDTH; 
       int max = maxCount(counts); 
       int height = max * INCREMENT + 100; 
       int horizon = height - 25; 
       HistogramPanel panel = new HistogramPanel(width, counts, height, horizon); 
       JOptionPane.showMessageDialog(null, panel); 
      } catch (IOException ex) { 
       ex.printStackTrace(); 
      } 
     } 
    } 
+0

我改變了我的「分析文本」按鈕名稱爲「文本」的意思,而它仍然不工作。 – user3356827

+0

什麼不工作,它不彈出?怎麼樣的文件選擇器變量descrepency? –

+0

我已經將filechooser更改爲Jfilechooser只是我已經宣佈它但它仍然無法工作 – user3356827