Я создал JTextField и установил свойство setDocument с расширенным классом из PlainDocument.
Когда я стираю из текстового поля, я хочу напечатать оставшуюся строку, но она печатается всего за один шаг до этого.
скажем. Если JTextField имеет строку вроде 123456789, и я стираю один символ с помощью возврата, тогда он печатает нормально (12345678). Но если я удалю, скажем, «3», тогда появится «1234567». Итак, я печатаю предыдущее значение. Если я затем удалю еще один символ, он покажет, что 3 был стерт. . только то, что он знает, что длина изменилась, и печатает на один символ меньше сзади.
Если я не ясно выразился. Я хочу напечатать «настоящую» строку, которую имеет текстовое поле при удалении из кода простого документа.
Когда я удаляю, он запускает метод удаления или удаления обновления, когда мой текст печатается. (вероятно, я печатаю на шаг раньше)
PS: мне нужно получить значение из простого документа, а не из поля jtext снаружи.
это мой код
protected void removeUpdate(AbstractDocument.DefaultDocumentEvent evento)
{
try {
super.removeUpdate(evento);
removePostUpdate(evento);
} catch (BadLocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void removePostUpdate(AbstractDocument.DefaultDocumentEvent evento) throws BadLocationException
{
try {
palabraCompleta = evento.getDocument().getDefaultRootElement().getDocument().getText(0,evento.getDocument().getDefaultRootElement().getDocument().getLength()-1 );
System.out.println(evento.getPresentationName());
} catch (BadLocationException e) {
e.printStackTrace();
}
System.out.println(palabraCompleta);
}