JFileChooser用于将所选文件传递给不同类对象的参数

时间:2011-02-14 16:24:01

标签: java netbeans

在我的主要课程中我有这个方法

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 个答案:

答案 0 :(得分:1)

您可以这样做:

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();
    }

    }

虽然最好在另一个线程而不是Event dispatch线程中进行处理。

答案 1 :(得分:0)

在您的主类中,您应该返回文件F.

从同一个包中的任何其他类中,您可以调用OpenActionPerformed()方法,并将其返回到您使用它的任何类中的新File对象。