为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用线程,使窗体的运行速度加快

如何使用线程,使窗体的运行速度加快

C#
森栏 2018-08-14 10:09:29
有一个获取网上信息的方法,在多个子窗体中都会被调用,使主窗体加载时会有十几秒的卡顿,这个要怎么解决?
查看完整描述

1 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

不要让主UI线程执行耗时的操作,只要是耗时的操作需要创建一个线程单独执行,这样就可以避免阻塞主UI线程了

你可以参考下我这段代码

  private void dealPDF() {        //显示处理中
        progressIndicator.setVisible(true);        //把耗时的操作放到事件队列中
        EventQueue.invokeLater(()->{
            String text = inputFileField.getText();
            Map<String,Object> result = getPdfWords(text);
            String data = result.get("data").toString();
            String size = result.get("size").toString();
            Platform.runLater(()->{
                wordArea.clear();
                wordArea.appendText(data);
                wordSize.setText(size);
            });            //关闭处理中,
            progressIndicator.setVisible(false);
        });
    }


查看完整回答
反对 回复 2018-09-06
  • 1 回答
  • 0 关注
  • 683 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信