Java - Cómo usar DocumentListener en JTextFields?

 
Vista:
sin imagen de perfil
Val: 147
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cómo usar DocumentListener en JTextFields?

Publicado por Tomas (76 intervenciones) el 27/11/2016 17:00:15
Hola, necesito que cuando se escriba en un texfield, me copie el mismo texto a otro, pero me dice:
1
java.lang.IllegalStateException: Attempt to mutate in notification

1
2
3
4
5
6
7
8
9
10
11
12
13
@Override
	public void insertUpdate(DocumentEvent e) {
 
		// si se esta escribiendo en el textfield1, copiamos dicho texto al textfield2
		if(e.getDocument()==txtField1.getDocument()){
 
				txtField2.setText(textField1.getText());
 
                //viceversa
		}else if(e.getDocument()==txtField2.getDocument()){
				txtField1.setText(textField2.getText());
		}
	}

Entonces:
No sé que diferencia hay entre changeUpdate y los otros 2. Entiendo que cuando 'insertUpdate' o 'removeUpdate' es lo mismo que hacer un 'changeUpdate'.
Sé que DocumentListener solo trabaja con el contenido del componente pero no filtra los caracteres.
KeyListener si filtra caracteres, pero no estoy usando un teclado fisico, sinó uno virtual (en pantalla, con jbuttons) por lo tanto no funcionara
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cómo usar DocumentListener en JTextFields?

Publicado por Tom (1630 intervenciones) el 27/11/2016 18:37:58
Document listeners should not modify the contents of the document
En tu caso, es probable que tengas el mismo DocumentListener asociado a los dos textfields.

http://java.sun.com/docs/books/tutorial/uiswing/events/documentlistener.html
http://docs.oracle.com/javase/tutorial/uiswing/events/documentlistener.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar