有一個獲取網上信息的方法,在多個子窗體中都會被調用,使主窗體加載時會有十幾秒的卡頓,這個要怎么解決?
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 關注
- 729 瀏覽
添加回答
舉報
0/150
提交
取消
