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

2019-01-03 00:54发布

有一个获取网上信息的方法,在多个子窗体中都会被调用,使主窗体加载时会有十几秒的卡顿,这个要怎么解决?

标签: 线程
3条回答
疯言疯语
2楼-- · 2019-01-03 01:15

使用BackgroundWorker解决

查看更多
看我几分像从前
3楼-- · 2019-01-03 01:28

不要让主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);
        });
    }        
查看更多
相关推荐>>
4楼-- · 2019-01-03 01:32

具体点,或者直接上代码

查看更多
登录 后发表回答