Niente, eseguendo delle funzioni in altre classi, non mi si interrompe.
O meglio, mi avverte che ci ha messo più tempo ma le funzioni continuano a lavorare lo stesso, chiaramente le ho richiamate nel codice con il Time To Live..

Per capirci, se metto un tempo di vita di mezzo secondo, mi viene detto che non si è finito il lavoro in tempo, ma aspettando qualche secondo, poi mi viene caricata l'immagine e le informazioni dalla funzione comunque...

codice:
class Task implements Callable<String> {  // Codice con tempo massimo di esecuzione
	@Override
	public String call() throws Exception {
		Thread.sleep(4000); // Qui lavoro, ipotizzo molto codice
		String Temp1 = FText.getText(); 	// Titolo da cercare
		if(!Temp1.equals("")){ 		// Controllo sia inserito qualcosa
			String Temp = Temp1.replaceAll(" ", "+"); 	// Sostituisco gli spazi con il + per la ricerca
			String Url = "http://www.imdbapi.com/?t=" + Temp; 	// Indirizzo per la ricerca film
			try {
				ImageIcon icon = new ImageIcon("Loading.gif"); 	// Icona di caricamento
				Img.setIcon(icon);
				// DatiFilm è di tipo Film, e il costruttore riceve un array di stringhe da 0 a 28 elaborato
				DatiFilm = new Film(ElabFilm.downloadFromUrl (new URL (Url), "Mozilla/5.0")); 	// Popolo il film
				StampaRic(DatiFilm); 	// Mostro il risultato della ricerca
				Action.setEnabled(true); 	// Ora posso fare una immissione dati nel db e abilito il tasto
			} catch (MalformedURLException e1) {	// Se c'è qualche problema di url...
				ImageIcon icon = new ImageIcon("BaseFilm.jpg");
				Img.setIcon(icon);
				showMessage("The service is unavailable.", "HTTP Error 503.", JOptionPane.ERROR_MESSAGE);
			} catch (IOException e1) {	// ... o di lavoro con i dati...
				ImageIcon icon = new ImageIcon("BaseFilm.jpg");
				Img.setIcon(icon);
				showMessage("The service is unavailable.", "HTTP Error 503.", JOptionPane.ERROR_MESSAGE);
			}											
		}
			return "Eseguito il codice!";
	}
}

public void actionPerformed (ActionEvent e){ 	// ActionEvent Menu	
	if (e.getSource() == Ric) { 	// Se Clicco la ricerca film
		ExecutorService executor = Executors.newSingleThreadExecutor();
	        Future<String> future = executor.submit(new Task());
	        try {
	            System.out.println("Iniziato..");
	            System.out.println(future.get(1/2, TimeUnit.SECONDS)); // Tempo di vita del codice
	            System.out.println("Finito in tempo!");
	        } catch (TimeoutException | InterruptedException | ExecutionException e1) {
	            System.out.println("Terminato non in tempo!");
	        }
	        executor.shutdownNow();
	}
}