gpt4 book ai didi

java - JTextPane插入大文本问题

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:21 24 4
gpt4 key购买 nike

我遇到了一个问题:首先我从文件中加载了一些大文本。之后我想在我的 JTextPane 中显示它。为了将文本插入到 JTextPane 中,我使用:

 SwingUtilities.invokeLater(new Runnable()
{

public void run()
{
textPane.setText(someLargeString);
}
});

但是当我的文本插入到 JTextPane 中时,所有 UI 都被卡住了。

是否可以在不卡住 UI 的情况下将大字符串插入 JTextPane?

谢谢

附言加载数据的过程在另一个线程中。但在加载数据后,我需要将其放入 JTextPane 中。所以我在 swing 中调用设置文本。但是我的用户界面卡住了。为什么?

最佳答案

您不应该在 Swing EDT 上调用 setTextsetText 是线程安全的,参见 API . setText 与底层 AbstractDocument 的关系比与 Swing 的关系更大。 setText 在修改文档之前获得对文档的锁定。

但是 getText 必须从 Swing EDT 调用。

关于java - JTextPane插入大文本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6536178/

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