Java JTextField侦听器在文本更改时修改textField';s文本

Java JTextField侦听器在文本更改时修改textField';s文本,java,swing,listener,jtextfield,documentlistener,Java,Swing,Listener,Jtextfield,Documentlistener,你知道我如何在JTextField上添加一个文本监听器吗?当文本发生变化时,这个监听器会触发,并作为一个动作修改JTextField的文本 我尝试过使用addInputMethodListener,这似乎很合适,但似乎不起作用。我也尝试过textField.getDocument().addDocumentListener(),但这会引发java.lang.IllegalStateException:当我尝试修改textField的文本时,尝试在通知中进行变异。DocumentListeners

你知道我如何在JTextField上添加一个文本监听器吗?当文本发生变化时,这个监听器会触发,并作为一个动作修改JTextField的文本


我尝试过使用
addInputMethodListener
,这似乎很合适,但似乎不起作用。我也尝试过
textField.getDocument().addDocumentListener()
,但这会引发
java.lang.IllegalStateException:当我尝试修改textField的文本时,尝试在通知中进行变异。

DocumentListeners
不允许修改
JTextComponent
的基础文档。你在找一个新的工作


+1,@Reimeus它不起作用;它抛出
StackOverflowerError
,因为当我更改textField的文本时,它会从调用
setText
DocumentFilter
调用
replace
,从而以无限递归方式运行。@mKorbel我已经说明了为什么它不能与DocumentListener(以及随后的DocumentFilter)一起工作。不要在
DocumentFilter
中调用
setText
,使用超级类中的
replace
方法。发布一条消息,根据我在这里的评论中的帖子,一切都隐藏在你的代码中,你的问题,没有人知道:-)