gpt4 book ai didi

java - 使用 Java 将文本动态添加到 JTextArea

转载 作者:行者123 更新时间:2023-11-29 07:14:58 24 4
gpt4 key购买 nike

我正在尝试向 JTextArea 动态添加/追加文本。我尝试这样做:

for(int i=0;i<10;i++){
jtextArea.append("i="+i);
//some processing code***********
}

实际上所有i 值都在for 循环完成后附加到jtextarea。但是我想在 for 循环进行时将 i 值添加到 jtextAres。提前致谢。

最佳答案

我假设您是在事件调度线程 上执行此操作,并且您的处理代码将阻塞此线程。因此,JTextArea 无法重绘。

你需要得到你的UI线程的处理代码。通常的建议是使用 SwingWorker,但在这种情况下,使用常规 Thread 并使用 SwingUtilities.invokeLater 可能更容易在 EDT 上安排 append 调用。

注意:我建议从 JDK1.7 开始在 EDT 上调用 append,该方法的 javadoc 不再声明它是线程安全的(1.6 javadoc 仍然提到这一点)。但是看着 this question表明即使在 1.6 中,在 EDT 上调用它也可能更安全。

Concurrency in Swing教程是关于这个主题的好读物。

关于java - 使用 Java 将文本动态添加到 JTextArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10394275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com