2012-03-15 54 views
0

我只想保存當前選定選項卡上的文本(選項卡1),這是我在netbeans的設計方面添加的,並且與我的新選項卡功能分開。JTabbedPane:如何僅在活動選項卡上執行操作

我保存功能適用於所有其他選項卡除選項卡1.

這裏是我的嘗試,並得到保存,收集從標籤1文本如果選擇標籤1:

public void Save_As() 
    { 

    fileChooserTest.setApproveButtonText("Save"); 
    int actionDialog = fileChooserTest.showOpenDialog(this); 

    File fileName = new File(fileChooserTest.getSelectedFile() + ".txt"); 
    try{ 
    if(fileName == null) 
     return; 

    BufferedWriter bw1 = new BufferedWriter(new FileWriter(fileChooserTest.getSelectedFile() + ".txt")); 

     String text = ((JTextArea)TabPane.getSelectedComponent()).getText(); 
     if((TabPane.getTitleAt(TabPane.getSelectedIndex())).equals("Doc1.txt")) 
     { 
      bw1.write(this.TextArea.getText()); 
     } 
     else 
     { 
      bw1.write(text); 
      bw1.close(); 
     } 

    } 
    catch (IOException ex) { 

    } 
    } 
+0

是否拋出異常? MVC模式? – sockeqwe 2012-03-15 13:12:52

+0

是沒有錯誤,只是沒有從TextArea中讀取文本時,我創建一個保存文件 – donthedestroyer 2012-03-15 14:45:07

回答

0

你忘了關閉BufferedWriter。只需添加一行即可關閉它將解決您的問題。

爲了使它好得多,你應該使用try ... catch ... finally,並把BufferedWriter.close()放在finally節中。

 if((TabPane.getTitleAt(TabPane.getSelectedIndex())).equals("Doc1.txt")) 
    { 
     bw1.write(this.TextArea.getText()); 
     bw1.close();// you need to close it here. 
    } 
    else 
    { 
     bw1.write(text); 
     bw1.close(); 
    } 
相關問題