Caros companheiros, estou tentando fazer uma classe
que implementa a interface caretListener, para pegar a
posicao do cursos a cada mudanca dele. Logo em seu
metodo caretUpdate(CaretEvent e), eu desejo pegar a
posicao do cursor e mudar o atributo do documento
associado a um TextPane, mais ou menos assim:

public void caretUpdate(CaretEvent e){
  int dot = e.getDot(); //posicao real do cursor
  MutableAttributeSet as = (MutableAttributeSet)
tabelaEstilos.get(ITALIC);  //Essa tabela esta
certinha , nao se preocupem com ela
  doc.setCharacterAttributes(0,dot,as,true); // o
problema esta aqui
}

Porem a ultima linha de codigo provoca uma excecao.(
java.lang.IllegalStateException: Attempt to mutate in
notification
        at
javax.swing.text.AbstractDocument.writeLock(AbstractDocument.java:1050))

Andei pesquisando na net e notei que o caretUpdate()
trava mudancas no documento propositalmente. Porem eu
preciso mudar os atributos do documento baseado na
posicao do caret. Como eu faco???? Alguem tem alguma idéia???

=====
Rodrigo Paes - |MoScA|
Ciências da Computação - UFAL

________________________________________________________________________
O YAHOO! GEOCITIES CHEGOU AO BRASIL!
Crie sua home page com tudo em português - http://br.geocities.com

------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a