проблема с JFilechooser в NetBeans - PullRequest
2 голосов
/ 18 сентября 2010

Я использую 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 ]

4 голосов
/ 18 сентября 2010

Ожидается экземпляр java.awt.Component в качестве аргумента в методе showSaveDialog(), но вы не передаете действительный аргумент.

У вас есть 2 варианта:

  1. Просто введите null вместо this.

  2. Пусть класс netsim.NetSimView расширяет java.awt.Component.

Подсказка: эти вещи с голубым кодом в первом предложении на самом деле являются ссылками. Нажми и учи.

3 голосов
/ 18 сентября 2010

Здесь вам нужно оставить в стороне магию NetBeans и RTM.

JavaDocs для JFileChooser.showSaveDialog (Component) явно указать, что аргумент должен быть компонентом (или, косвенно, что-то, что расширяет компонент).

Компонент используется для предоставления позиции для выбора.

Далее по документам.add.

Параметры: parent - родительский компонент диалога, может быть нулевым;подробности смотрите в showDialog

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...