Salve a tutti, vi posto subito la parte di codice relativa al problema, è una parte del main:
codice:
JFileChooser fileChooser = new JFileChooser( (new File(".")).getAbsolutePath() );
    	fileChooser.setDialogTitle("Selezionare il file html con i nani");
    	HtmlFilter filtroFileHtml = new HtmlFilter();
    	fileChooser.addChoosableFileFilter(filtroFileHtml);
    	int response = fileChooser.showOpenDialog(null);
    	File f = null;
    	if(response == JFileChooser.APPROVE_OPTION) {
			f = fileChooser.getSelectedFile();
			if(f != null){
			    try{
			    	stringaNaniEstratti = grep(f);
			    	if(stringaNaniEstratti != "")
			    		JOptionPane.showMessageDialog(null, "Estrazione avvenuta.");
			    	else{
			    		JOptionPane.showMessageDialog(null, "Estrazione fallita.", "Attenzione!", JOptionPane.WARNING_MESSAGE);
			    		System.exit(0);
			    	}
				}catch (IOException x){
					System.err.println(f + ": " + x);
				}
			}
    	}
    	else if(response == JFileChooser.CANCEL_OPTION){
    		System.exit(0);
    	}
    	
    	fileChooser.setDialogTitle("Inserire il nome del file pdf che conterrà i nani salvati");
    	fileChooser.removeChoosableFileFilter(filtroFileHtml);
    	fileChooser.addChoosableFileFilter(new PdfFilter());
    	fileChooser.setSelectedFile(new File(Config.PDF_NAME));
    	response = fileChooser.showSaveDialog(null);
    	f = null;
    	if(response == JFileChooser.APPROVE_OPTION) {
    		f = fileChooser.getSelectedFile();
    		if(f != null){
    			if(f.exists()){
    				Object[] options = {"Sì",
    	                    "No"};
			    	int n = JOptionPane.showOptionDialog(null,
			    	    "Attenzione! Il file è già esistente," +
			    	    " vuoi sovrascriverlo?",
			    	    "File esistente",
			    	    JOptionPane.YES_NO_CANCEL_OPTION,
			    	    JOptionPane.WARNING_MESSAGE,
			    	    null,
			    	    options,
			    	    options[1]);
			    	if(n == 0)
			    		writePDF(stringaNaniEstratti, f.getAbsolutePath());
    			}
    			else
    				writePDF(stringaNaniEstratti, f.getAbsolutePath());
    		}
    	}
    	else if(response==JFileChooser.CANCEL_OPTION){
    		System.exit(0);
    	}
Sto lavorando con eclipse e lanciando il programma da lì non ho nessun problema, nel senso che i due filechooser vengono visualizzati correttamente uno dopo l'altro. Ma quando esporto in jar mi si presenta il seguente problema: compare correttamente il primo jfilechooser, compare il dialog di avvenuta estrazione, ma dopo questo si blocca tutto. Il secondo filechooser non compare e sono costretto ad intervenire sul task manager ed interrompere il processo javaw.exe. La cosa strana è che a volte tutto funziona correttamente, poi riprovo e niente.

Grazie per l'attenzione.