Eventos no PlainDocument

Eu criei uma classe filha de PlainDocument, onde eu quero controlar, para cada campo JTextField que tem na tela, quando o caracter é inserido ou removido. Preciso disso para ter o controle se o campo foi modificado ou nao, e avisar o usuario para salvar os dados.

Eu tenho usado o insertString mas ele funciona apenas, como o nome diz, para a insercao de caracteres.

Duvidas:

  1. Qual a diferenca do insertString para o insertUpdate? Eu nao entendi nada da explicacao que tem no help.

  2. Nao tem um removeString, apenas um removeUpdate. Como eu faco para usar tambem este evento?

Tambem preciso usar tanto insert quanto remove, ou seja, qualquer alteracao em um certo JTextField. Se o usuario digitar um numero nele, por exemplo, um valor em R$, eu tenho que setar um outro JLabel da tela com o valor em %, como se fosse um campo calculado. Eu ja consegui fazer funcionar quando o usuario vai digitando “pra frente” os numeros (via insertString) mas ao apagar uma parte do numero, nao calcula mais nada…

Para saber o que faz cada metodo é facil! só coloque um…

public void insertUpdate(DocumentEvent ev){
System.out.println(“insertUpdate disparado…”);
}

basta fazer isso com cada interface… valeu? falou’s…

[quote=edilmar]

  1. Nao tem um removeString, apenas um removeUpdate. Como eu faco para usar tambem este evento?

Tambem preciso usar tanto insert quanto remove, ou seja, qualquer alteracao em um certo JTextField. Se o usuario digitar um numero nele, por exemplo, um valor em R$, eu tenho que setar um outro JLabel da tela com o valor em %, como se fosse um campo calculado. Eu ja consegui fazer funcionar quando o usuario vai digitando “pra frente” os numeros (via insertString) mas ao apagar uma parte do numero, nao calcula mais nada…[/quote]

Preciso tambem de um “removeString”, alguem sabe?

Para caso de duvidas, consegui resolver, utilizei o evento:

@Override protected void removeUpdate(DefaultDocumentEvent chng) { //faz o que quizer quando remove }