Java-Gui-Swing JTextArea实时刷新的问题_实时输出到jtextarea-CSDN博客

一、问题描述

我的需求是做一个dicom文件脱敏工具;实时的把执行日志刷新到窗口下面的 JTextArea 里;但是目前每次点击执行后,日志都是在执行结束后一起打印到 JTextArea 中。

二、解决思路

查阅了很多博客和解决方案,最后都没有实现;最后找到一个思路是将日志打印放到线程中执行,尝试后发现并没有什么效果,甚至整个页面都卡住了;思来想去一不做二不休,把整个操作都放进日志里,最后解决问题(网上有博友说这是我的执行事件阻塞了Frame整个线程导致的)

三、代码展示

private ExecutorService service = Executors.newCachedThreadPool(new ThreadFactory() {         @Override        public Thread newThread(Runnable r) {            return new Thread(r, "output");        }    });  public GuiOperate() {        //执行按钮        executeButton.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent e) {                service.submit(new Runnable() {                    @Override                    public void run() {                        logInfo.append("开始执行 \n");                         //。。。 你的业务代码。。。                         logInfo.append("执行完毕\n");                    }                });            }        });         }

注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!


原网址: 访问
创建于: 2024-02-18 15:59:07
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论