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

在处理发生时动态刷新JTextArea?

慎旭尧
2023-03-14
问题内容

我正在尝试创建一个非常简单的Swing UI,以在后台进行处理时通过JTextArea将信息记录到屏幕上。当用户单击按钮时,我希望每个呼叫都能够:

textArea.append(someString + "\n");

立即显示在用户界面中

目前,在单击按钮后处理完成之前,JTextArea不会显示所有日志信息。如何获得动态刷新?


问题答案:

我的应用程序遇到了同样的问题。我的应用程序有一个“运行”按钮,它执行一些操作并将结果输出到JTextArea。我不得不从线程中调用该方法。这是我所做的。

我有几个可以完成的动作单选按钮,然后有一个“运行”按钮可以执行该特定动作。我有一个称为验证的操作。因此,当我检查该单选按钮并单击“运行”按钮时,它将调用方法validate()。所以我首先将此方法放入实现Runnable的内部类中

class ValidateThread implements Runnable {
    public void run() {
        validate();
    }
}

然后,我在“运行”按钮的ActionListener中调用了该线程

runButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent ae) {
        // Some code checked on some radio buttons
        if(radioButton.isSelected()) {
            if(radioButton.getText().equals("VALIDATE")) {
               Runnable runnable = new ValidateThread();
               Thread thread = new Thread(runnable);
               thread.start();
            }
        }
    }

});

瞧!现在将输出发送到JTextArea。

现在,您会注意到JTextArea不会随着文本向下滚动。因此,您需要将插入符号位置设置为

textArea.setCaretPosition(textArea.getText().length() - 1);

现在,将数据添加到JTextArea时,它将始终向下滚动。



 类似资料:
  • 我们正在构建一个具有两个流的应用程序: 大量信息流 我们希望连接这两个流以获得共享状态,以便第一个流可以使用第二个状态进行扩展。 每天左右,拼花文件(第二流的源代码)都会更新,这需要我们清除第二流的状态并重建它(可能需要大约2分钟)。 问题是,我们可以在该进程运行时阻止/延迟来自第一流的消息吗? 谢谢。

  • 问题内容: 我正在使用改造高效的网络库,但无法处理包含单个前缀的Dynamic JSON,该前缀 会随机更改,在某些情况下(动态),相同的前缀()会更改为String。 Json格式的responseMessage对象: Json格式会动态更改为字符串类型: 我的问题是,由于改造具有内置的解析,我必须为每个请求分配单个POJO!但是不幸的是,REST-API是基于动态响应构建的。前缀将在 成功(…

  • 问题内容: 我正在使用AngularJS构建SPA,并与服务(JAVA)通信。 当用户发送其用户名/密码时,服务会同时发送回:Acces令牌和Refresh令牌。我正在尝试处理:如果收到状态为401的响应,请发送回刷新令牌,然后再次发送您的上一个请求。我试图通过包含$ http来做到这一点,但是angular不允许我在此拦截器中包含它。有什么方法可以使用我正在接收的响应参数来重新创建原始请求吗?

  • 我正在使用Eclipse和Tomcat Server 7开发一个带有String框架的web应用程序。当我运行它时,我总是得到同样的错误: HTTP状态500-处理JSP页面/views/misc/index时发生异常。jsp第19行 第19行是:<代码> 有时候在我不停刷新页面的时候是可以的,但是不知道为什么。 misc/index.jsp 这是欢迎视图的index.jsp页面 堆栈跟踪: 根本

  • 任何关于如何在codenameone中触发Pull以刷新的代码示例都将受到欢迎。添加pull来刷新很简单,但我有一个用例,我需要pull来刷新在表单的post显示后自动完成。

  • 我有一个Zend框架2 formElement csrf的问题。 它工作正常,直到我提交一个无效的表单,点击同一页,然后刷新页面。字段上出现"not The相同"验证错误,并出现消息"提交的表单不是来自预期站点"。这是正确的,因为如果我检查csrf字段的值,它与提交前的值不同。 在我决定添加csrf字段之前,表单运行良好。 我正在创建我的csrf字段,如下所示: 并在视图文件中: (FormErr