Tech Neo 创造一个纯粹高质的技术交流平台

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

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

请先 登录 后评论

最佳答案 2018-06-11 14:17

不要让主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);
        });
    }        
请先 登录 后评论

其它 2 个回答

博问用户

具体点,或者直接上代码

请先 登录 后评论
博问用户

使用BackgroundWorker解决

请先 登录 后评论