当前位置: 首页 > 面试题库 >

我如何使用swingworker类将文本追加到textarea?

吕灿
2023-03-14
问题内容

我想用Java中的swingworkerclass循环添加文本。对于前:

while(true)
{
     mytextarea.append("sometext");
     if(some_condition)
     {break;}
}

我希望与swingworker一起使用,因为我希望看到textarea上的所有更新。对于此代码,我只有在完成处理后才能看到更新。

我不想在其他情况下使用swingworker示例。请在这里给我一些代码。谢谢。


问题答案:

SwingWorker不在这里。您的代码未在EDT中运行,因此看不到更新。您可以使用SwingUtilities.invokeLater(…)在EDT中执行代码。但是不要在EDT中执行整个while循环,因为这会阻止它,并且不会进行任何更新/事件(重新绘制,Mouseclicks)。这是一个简单的代码示例:

    while(true) {
        SwingUtilities.invokeLater(new Runnable{
            public void run() {
                textfield.setText(....);
            }
         });
         if(condition) break;
     }
有关更多信息,请参见 http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html或这本书: http
//filthyrichclients.org


 类似资料:
  • 问题内容: 如何在注入Jenkins时将文本追加到文件中 我希望看到 25在哪里 这是我的尝试 错误: 版本:= 1.0。$ {env.BUILD_ID}:替换错误 注意文件在当前目录中 问题答案: 是一个groovy变量,而不是一个shell变量。由于您使用了单引号(),因此groovy 不会 替换字符串中的变量,并且Shell也不知道。您需要使用双引号并让groovy进行替换 或使用外壳程序知

  • 问题内容: 我是一名初学者,是android / java程序员,我的背景主要是C ++和C#。在C#中,如果我有一个名为myWord的字符串变量,并且其值为“ Hello”,则可以使用+运算符附加其他信息。 我在Java中尝试了这种方法几次,显然因为TextView数据类型为空,所以我无法使用此方法。Android studio给我以下错误:运算符’+’不能应用于’void’,’java.lan

  • 问题内容: 我发现os.Open()返回O_RDONLY文件,而os.Create()返回O_RDWR,但是找不到方法返回APPEND文件指针。 有什么帮助吗? 问题答案: 该OpenFile需要一个标志参数,您可以使用: 与O_CREATE一起使用,OpenFile还可以起到与os.Create()相同的作用。

  • 问题内容: 我需要通过Java将文本添加到文本文件的开头。 例如我有带有数据的test.txt文件: 我需要添加(到文件顶部): 它应该是: 我有一部分代码,但是将数据追加到文件末尾,我需要将其添加到文件顶部: 我已经尝试过了,但这只会从文件中删除所有数据,而不会插入任何文本: 谢谢你的帮助。 问题答案: 在开始写入之前,可以使用RandomAccessFile来使用方法来 查找 光标并将其定位。

  • < code>fd.append("upload ",file)产生, 产生, 但我需要这个, 这是我的代码:

  • 问题内容: 我当前正在提取war文件的内容,然后将一些新文件添加到目录结构中,然后创建一个新的war文件。 所有这些都是通过Java以编程方式完成的-但我想知道,复制war文件然后追加文件是否会更有效-那么只要战争扩大,我就不必等待,再次被压缩。 但是,在文档或任何在线示例中,我似乎都找不到找到此方法的方法。 任何人都可以给一些提示或指示吗? 更新: 答案之一中提到的TrueZip似乎是一个非常好