Salve a tutti, ho un problema che non riesco a risolvere.
Sto costruendo un gestionale su una videoteca per un progetto all'università, e ho un problema legato alla durata di un thread.

Questo è il codice in soggetto, che parte alla pressione di un tasto nella mia form.

codice:
Thread t = new Thread() { 	// Su un nuovo thread cosi non blocco la finestra principale
  public void run() {
	String Temp1 = FText.getText(); 	// Titolo da cercare
	if(!Temp1.equals("")){ 		// Controllo sia inserito qualcosa
	  String Url = "http://www.imdbapi.com/?t=" + Temp; // Indirizzo per la ricerca film
	  try {
		DatiFilm = new Film(ElabFilm.downloadFromUrl (new URL (Url), "Mozilla/5.0"));
		StampaRic(DatiFilm); 	// Mostro il risultato della ricerca
		Action.setEnabled(true); 	// Ora posso fare una immissione dati nel db
	  } catch (MalformedURLException e1) {	// Se c'è qualche problema di url...
		showMessage("Service unavailable.", "Error", JOptionPane.ERROR_MESSAGE);
	  } catch (IOException e1) {	// ... o di lavoro con i dati...
		showMessage("Service unavailable.", "Error", JOptionPane.ERROR_MESSAGE);
	  }				
	}					
	try { 	// Sospendo questo thread con la sleep() e passo il controllo all'altro thread
		sleep(5);
	} catch (InterruptedException ex) {}
  }
};
t.start(); 	// Faccio partire il thread
Praticamente, con questa parte del programma, l'utente ha la possibilità di cercare delle informazioni su un determinato film, che vengono scaricate dal sito Imdb.
Quello che non riesco a fare è bloccare la ricerca nel caso il sito sia lento a rispondere.
Diciamo, non voglio che il thread viva per più di 10 sec, perchè vuole dire che il sito è lento a rispondere, e voglio terminarlo.
Avevo pensato a un timer, ma non ho idea di come usarlo a mio vantaggio.