Java程序如何对JTextArea监听实现循环更新

heng422 2015-11-02 09:11:37
JTextArea area=new JTextArea();
area.append("Welcome");
area.getDocument().addDocumentListener(new DocumentListener(){
public void insertUpdate(DocumentListener e){
area.append("Hello");
}
public void removeUpdate(DocumentListener e){
}
public void changedUpdate(DocumentListener e){
}
});

我的问题是:在监听文本域发现有更新的时候,就使用append对它再更新“Hello”语句,一直循环下去
但是因为是对它本身监听,又对它再使用append方法,在运行时出现异常
java.lang.IllegalStateException: Attempt to mutate in notification 怎么办?
...全文
138 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bayougeng 2015-11-02
  • 打赏
  • 举报
回复
所以这个异常暴露的也是你本身逻辑的问题了,到底这个append hello算不算一个update呢? 如果你觉得不算,你就应该在响应里面写清楚,哪种的算update ,哪种的应该被忽略。
heng422 2015-11-02
  • 打赏
  • 举报
回复
已经解决了 EventQueue.invokeLater(new Runnable(){ public void run(){ aera.apend("Hello"); } });
heng422 2015-11-02
  • 打赏
  • 举报
回复
已经解决了 EventQueue.invokeLater(new Runnable(){ public void run(){ aera.apend("Hello"); } });
heng422 2015-11-02
  • 打赏
  • 举报
回复
已经解决了 EventQueue.invokeLater(new Runnable(){ public void run(){ aera.apend("Hello"); } });

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧