private void setXAWTTextField(String txt) { text = txt; if (xtext != null) { // JTextField.setText() posts two different events (remove & insert). // Since we make no differences between text events, // the document listener has to be disabled while // JTextField.setText() is called. xtext.getDocument().removeDocumentListener(xtext); xtext.setText(txt); if (firstChangeSkipped) { postEvent(new TextEvent(target, TextEvent.TEXT_VALUE_CHANGED)); } xtext.getDocument().addDocumentListener(xtext); xtext.setCaretPosition(0); } }