netbeans中JFilechooser的问题

时间:2010-09-18 05:31:06

标签: java swing

我正在使用netbeans开发java dextop应用程序,我创建了一个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.");
    }
}

如何解决此错误?

2 个答案:

答案 0 :(得分:4)

它期望在java.awt.Component方法中将showSaveDialog()的实例作为参数,但您没有传递有效参数。

您有两个选择:

  1. 只需传递null而不是this

  2. 让课程netsim.NetSimView延伸java.awt.Component

  3. 提示:第一句中的那些蓝色代码实际上是链接。点击并学习。

答案 1 :(得分:3)

这是您需要将NetBeans的魔力与RTM放在一起的地方。

JFileChooser.showSaveDialog(Component)的JavaDocs明确声明参数必须是一个Component(或暗示,扩展组件的东西)。

组件用于为选择器提供位置。

进一步下载文档。添加。

  

参数:       parent - 对话框的父组件,可以为null;看到   showDialog了解详情