Ho un editor di testo fatto in java.
Il testo viene visualizzato all'interno di un jtextpane
Quando leggo da filesystem un file di testo e lo voglio visualizzare con il mio editor, faccio comparire una jprogressbar di attesa caricamento file.
Quando arrivo all'istruzione
editor.setText(text);
dove editor è il mio jtextpane e text è il testo da visaulizzare a video, il programma si blocca
Penso sia un problema di comunicazione fra thread, ma non so risolverlo.
Ho provato anche ad usare le righe

codice:
javax.swing.SwingUtilities.invokeLater(new Runnable() {
	public void run() {
		editor.setText(text);
	}
}
ma il programma si blocca lo stesso.
Sapete dirmi come risolvere il problema?


codice:
public void openFile(String fileName) {
	final String readFile = fileName;
	Thread thread = new Thread() {
		public void run() {
			try {
	// open the file, wrapping it in a ProgressMonitorInputStream
				StringBuffer contents = new StringBuffer();
				InputStream in = new FileInputStream(readFile);
				ProgressMonitorInputStream pm =
						new ProgressMonitorInputStream(
							frame,
							"Reading the big file",
							in);
				int c = 0;
				while ((c = pm.read()) != -1) {
					contents.append((char) c);
				}
				pm.close(); 
				String text = contents.toString();
					
				editor.setText(text);
					

			} catch (Exception ex) {
				ex.printStackTrace();

			}
		}
	};
	thread.start();
}