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