Desculpem pela pergunta boba, to com problema num evento de um jtextfield

Simples, nao sei qual evento eu uso, veja:

txtNome.addCaretListener(new javax.swing.event.CaretListener() {
				public void caretUpdate(javax.swing.event.CaretEvent e) {
					if (!txtNome.getText().equals("")) {
						String nome = DataFormater.formataNome(txtNome
								.getText());
						try{
							theBairro.setNome(nome);
							bairroManager.setNome(theBairro.getId(), nome);
							
						}catch (Exception ee){
							JOptionPane.showMessageDialog(null, ee.getMessage());
							ee.printStackTrace();
						}
						if (theBairro.getId() != 0) {
							bairros.set(index, theBairro.getId());
						}
					}
				}
			});

Isso eh para toda vez que alterar o texto, atualizar o nome na classe Bairro, theBairro.setNome(…), então, o problema eh que eu coloquei no CARETUPDATE, entao, ateh mesmo um clique no campo faz executar a funcao, e isso eh por RMI, entao, ateh o fato de clicar no campo executa o caretupdate e faz com que use a rede, eu gostaria de diminuir o uso da rede, mas nao sei qual evento eu uso. No focusLost nao funciona, pq se eu saio do campo com TAB, ele executa o focusLost, mas se eu saio do campo clicando com o mouse sobre um botao, ele nao executa o focusLost.

Você chegou a tentar usar um DocumentListener?

((JTextComponent)component).getDocument().addDocumentListener(listener)

Oi, jah resolvi, fiz funcionar com o focusLost. Nao eh o que eu queria, mas pelo menos nao vai ficar usando a rede o tempo todo.