公告
财富商城
积分规则
提问
发文
2019-01-03 00:54发布
贼婆χ
有一个获取网上信息的方法,在多个子窗体中都会被调用,使主窗体加载时会有十几秒的卡顿,这个要怎么解决?
使用BackgroundWorker解决
不要让主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); }); }
具体点,或者直接上代码
最多设置5个标签!
使用BackgroundWorker解决
不要让主UI线程执行耗时的操作,只要是耗时的操作需要创建一个线程多带带执行,这样就可以避免阻塞主UI线程了
你可以参考下我这段代码
具体点,或者直接上代码