2010-09-18 85 views
2

我使用NetBeans開發java dextop應用程序,我創建了一個JFilechooser,它將讓用戶保存創建的新文件。netbeans中的JFilechooser問題

但是這int returnVal = newFileChooser.showSaveDialog(this);線以下代碼給出了這樣的錯誤:

 
method showSaveDialog in javax.swing.JFileChooser cannot be applied to given types 
required: java.awt.Component 
found: netsim.NetSimView 

這裏的類名是NetSimView和源包netsim

private void newMenuItemActionPerformed(java.awt.event.ActionEvent evt) { 
    newFileChooser=new JFileChooser(); 
    int returnVal = newFileChooser.showSaveDialog(this); 
    if (returnVal == JFileChooser.APPROVE_OPTION) { 
     File file = newFileChooser.getSelectedFile(); 
    } else { 
     System.out.println("File access cancelled by user."); 
    } 
} 

如何解決這個問題?

回答

4

它期待java.awt.Component的實例作爲showSaveDialog()方法的參數,但是您沒有傳遞有效的參數。

你有2種選擇:

  1. 只是通過null而不是this

  2. 讓類netsim.NetSimView延伸java.awt.Component

提示:第一句中那些藍色的代碼事物實際上是鏈接。點擊並學習。

3

這就是您需要拋開NetBeans和RTM的魔力的地方。

JFileChooser.showSaveDialog(Component)的JavaDocs明確聲明參數必須是組件(或通過含義,擴展組件)。

組件用於爲選擇器提供位置。

更深入的文檔。加。

​​