JFileChooser для передачи выбранного файла в аргумент объекта другого класса - PullRequest
0 голосов
/ 14 февраля 2011

в моем основном классе у меня есть этот метод

private void OpenActionPerformed(java.awt.event.ActionEvent evt) {                                     
  JFileChooser fileChooser = new JFileChooser();
    fileChooser.setFileFilter(new TxtFileFilter());
    int returnVal = fileChooser.showOpenDialog(this);
    if(returnVal == JFileChooser.APPROVE_OPTION){
        File f = fileChooser.getSelectedFile();
    }

    }

Я хочу передать выбранный файл в аргумент объекта в другом классе того же проекта и пакета:

public class ImportFile {

    File fileToImport = new File("C:/data/myData.txt");//path will be set from GUI

Как это сделать?Спасибо!

Ответы [ 2 ]

1 голос
/ 14 февраля 2011

Вы можете сделать что-то вроде этого:

private void OpenActionPerformed(java.awt.event.ActionEvent evt) {                                     
  JFileChooser fileChooser = new JFileChooser();
    fileChooser.setFileFilter(new TxtFileFilter());
    int returnVal = fileChooser.showOpenDialog(this);
    if(returnVal == JFileChooser.APPROVE_OPTION){
        File f = fileChooser.getSelectedFile();

        SomeClass c = new SomeClass(f);
        c.processFile();
    }

    }

Хотя было бы лучше выполнить обработку в другом потоке вместо потока отправки события.

0 голосов
/ 14 февраля 2011

В вашем основном классе вы должны вернуть файл F.

Таким образом, из любого другого класса в том же пакете вы можете вызвать метод OpenActionPerformed () и вернуть его в новый объект File любого класса, из которого вы его используете.

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