ho un prolema con un thread e non riesco a capire da dove parta,deve essere un errore stupido perchè di solito uso sempre la stessa procedura per crearli e cioè: nella classe di interesse implemento runnable, poi nel costruttore di questa classe assegno "this" a una variabile thread, usando ovviamente il suo costruttore; tutto quello che devo fare lo scrivo nel metodo run.
Quando però lo dovrei far partire in una classe a parte, questo mi da errore dicendo che il metodo start non esiste
A questo punto mi è venuto un dubbio: non è che per caso un thread può essere fatto partire solo all'interno di un main??
in ogni caso questo è il codice della prima classe:
Codice PHP:
package manifest;

import java.io.File;
import java.io.IOException;
import java.nio.file.NoSuchFileException;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import util.ExtensionFilter;

public class 
GeneratorStarter implements Runnable{
    
    private 
Thread t;
    
    public 
GeneratorStarter(int p){
        
= new Thread(this);
        
t.setPriority(p);
    }
    
    public 
void run(){
        
File file = new File("");
        
JFileChooser chooser;
        try{
            
chooser = new JFileChooser(new File("C:\\Users\\Hp\\Desktop\\workspace"));
        }catch(
RuntimeException e){
            
chooser = new JFileChooser(file.getAbsolutePath());
        }
        
chooser.setFileFilter(new ExtensionFilter("java"));
        
extLoop: for( ; ; ){
            
int response chooser.showOpenDialog(null);
            if(
response == JFileChooser.APPROVE_OPTION){
                
file chooser.getSelectedFile();
                try{
                    
ManifestGenerator gen = new ManifestGenerator(file);
                    
gen.generate();
                }catch(
RuntimeException IOException e){
                    
JOptionPane.showMessageDialog(null"Errore interno!");
                    
e.printStackTrace();
                }
                
JOptionPane.showMessageDialog(null"file creato");
            }else{
                for( ; ; ){
                    
int exit = JOptionPane.showConfirmDialog(null"Exit?""do you want to exit?"JOptionPane.YES_NO_OPTION);
                    if(exit == 
JOptionPane.YES_OPTION)
                        
System.exit(0);
                    else if(exit == 
JOptionPane.NO_OPTION)
                        continue 
extLoop;
                    else
                        
JOptionPane.showMessageDialog(null"click only 'yes' or 'no' please!");
                }
            }
            break;
        }
    }

e questo è il metodo actionPerformed di una GUI che ho creato....
Codice PHP:
    public void actionPerformed(ActionEvent e){
        if(
e.getSource() == generator){
            
gen = new GeneratorStarter(Thread.NORM_PRIORITY);
            
gen.start();
        }
    }