有一个获取网上信息的方法,在多个子窗体中都会被调用,使主窗体加载时会有十几秒的卡顿,这个要怎么解决?
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); }); }
- 1 回答
- 0 关注
- 683 浏览
添加回答
举报
0/150
提交
取消