Selecionar trechos de texto em dois JTextArea

Eu tenho dois JTextArea q são carregados com o mesmo texto…
Qdo selecionasse com o mouse um trecho do texto da esquerda queria que ficasse selecionado simultaneamente o da esquerda e o seu correspondente na direita… E vice versa…Qdo selecionasse com o mouse um trecho do texto da direita queria que ficasse selecionado simultaneamente o da direita e o seu correspondente na esquerda…

Alguém sabe como fazer isso?

Vlw

Para capturar a seleção corrente, você pode definir um CaretListener para o JTextArea, através do método addCaretListener. Porém, não sei se é possível - creio que não - que um componente sem o foco possa ter alguma seleção.

É simples. Você pode usar os métodos getSelectionStart() e getSelectionEnd() para obter o início e o fim do texto selecionado no primeiro JTextArea, e então usar o método select( int start, int end ) para selecionar o texto no outro JTextArea.
Por exemplo, suponha que ao primeiro JTextArea você tenha dado o identificador j1 ( um objeto chamado j1 ) e ao outro j2, então basta fazer
assim:

       j2.select( j1.getSelectionStart() , j1.getSelectionEnd() );

para que ambos fiquem simultâneamente selecionados.

Você antes também deve ajustar a cor de seleção de texto com

      setSelectionColor( Color c )

Tente isso, acredito que vá funcionar.

Não funciona. Como eu disse, provavelmente, a seleção só se aplica ao componente que possui foco.

Mas se naum me engano, a seleção existe simultaneamente, só que a seleção só é exibida no componente que detém o foco.

Fiz um exemplinho que talvez traga luz a essa questão. O anexo que eu to enviando é um jar com um programinha tosco só pra exemplificar o meu post anterior. Selecione um trecho do text da esquerda e mande limpar o da direita. No jar vcs pode encontrar o fonte, ok?

***** NOTA DE EDIÇÃO *****
O anexo antes aqui existente foi retirado. Baixe o anexo do meu post seguinte

HAAAAA-LE-LU-JA!!!
Acho que consegui uma solução razoável para o problema usando a interface Highlighter. Usei o seguinte código no CaretListenenr de um dos JTextArea:

txaEnabled.addCaretListener(
	new CaretListener() {
		/* *********************
		 * Solução do problema *
		 * *********************/
		public void caretUpdate(CaretEvent e) {
			int
				begin = Math.min(e.getDot(), e.getMark()),
				end = Math.max(e.getDot(), e.getMark())
			;
			Highlighter hl = txaDisabled.getHighlighter();
			hl.removeAllHighlights();
			txaDisabled.select(begin, end);
			try {
				hl.addHighlight(begin, end, DefaultHighlighter.DefaultPainter);
			} catch (BadLocationException e1) {
				e1.printStackTrace();
				System.exit(1);
			}
		}
	}
);

Acho que isso resolve o caso…
QQ coisa, postem mais.