I'm trying to set up a swing worker that does some file processing in the background while updating progress to a JtextArea.



From class X I call swingworker FileProcessor
Code:
{
JTextArea outerTextArea;
File selectedFile

FileProcessor task = new FileProcessor(selectedFile, outerTextArea);
selectedFileHolder = task.execute();
}
Fileprocessor Internals


Code:
class FileProcessor extends 
         SwingWorker<File, JTextArea> {
	
    
    
     FileProcessor(File INPUT, JTextArea innerTextArea) { 
         //initialize 
     }


@Override
public File doInBackground() {
  	File convertedFile = new File("convertedFile.txt");
	int counter=0;
	
	IoUtil.assertFileIsReadable(INPUT);

    
    final GenericFileReader reader = new GenericFileReader(INPUT);

while(somecondition==condition)
{
//processing stuff
counter++;
}

return convertedFile;

  }
}
A few questions

It keeps telling me INPUT isn't recognized in the FileProcessor class.

How do I get convertedFile in FileProcessor to be selectedFileHolder in Class X?

How would I get counter in FileProcessor to constantly update to outerTextArea in class X?