【发布时间】:2015-05-12 00:58:39
【问题描述】:
尝试在更新 JTextField 时获取它的值(插入字符、删除字符、更改字符),然后设置它的值。
我遇到了“尝试在通知中变异”异常,这导致我:
但是,您永远不应该在文档侦听器中修改文本组件的内容。如果这样做,程序很可能会死锁。相反,您可以使用格式化的文本字段或提供文档过滤器。来自here
我正在使用文档过滤器将 JTextField 的字符数限制为 12,但我不知道如何在不使用文档侦听器的情况下检测 JTextField 上的更改...这是异常的来源
对我有什么建议或 SSCCE 吗?
【问题讨论】:
-
@posdef 除了限制我想在删除/添加/更改字符时触发事件的字符..
-
使用第二个链接。
DocumentFilter是较新的首选方法。 -
I want to fire an event on remove/add/change characters- 为什么?你的意思是“开火”还是“听”一个事件?在任何情况下,都会调用 DocumentListener 来添加和删除文本。
标签: java jtextfield jtextpane documentlistener documentfilter