如何在不触发insertUpdate()的情况下将文本插入Document

时间:2012-12-09 03:29:27

标签: java swing jtextpane documentlistener documentfilter

我想创建一个Swing JTextPane,当用户在其中输入文本时,它会采取行动。但我也希望能够改变该窗格中的文本,而不会在用户输入时将该更改视为该更改。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

如果您不允许触发更新事件,那么您的UI可能也不会更新,具体取决于实际实现。因此,我同意通过与事件处理程序交谈可能会更好,让它知道下一个更改将是一个程序化更改。像这样:

try {
  listener.setProgrammaticChange(true);
  // change document
}
finally {
  listener.setProgrammaticChange(false);
}