尝试在 JTextField 更新时获取其值(插入字符、删除字符、更改字符),然后设置其值。
我遇到了“尝试在通知中进行变异”异常,这导致我:
但是,您永远不应该从文档监听器中修改文本组件的内容。如果这样做,程序可能会死锁。相反,您可以使用格式化文本字段或提供文档过滤器。来自here
我正在使用文档过滤器将 JTextField 的字符数限制为 12,但我不知道如何在不使用文档监听器的情况下检测 JTextField 上的更改...这是异常的根源
对我有什么建议或 SSCCE 吗?
最佳答案
很简单。将 DocumentListener 的事件逻辑包装到 SwingUtilities.invokeLater() 中,以防止 尝试在通知中发生变化问题
关于java - JTextField 文档监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28966257/