在我的主要课程中我有这个方法
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
怎么做?谢谢!
答案 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对象。