我想創建簡單的Swing應用程序,其中包含幾個JEditorPanes裏面。每個JEditorPane都包含帶有html標籤的文本。還有一些窗格包含標籤爲<img src='http://some.url' />
的html,這意味着圖片可能位於網頁中的某處。 問題是 - 如果其中一個圖像URL不可用 - 我的所有JEditorPanes和整個應用程序都會顯示。(我構建JEditorPanes在自己的線程,建設後付諸使用SwingUtilities.invokeLater(...)
主框架)JEditorPane問題與異步圖像下載
我相信,圖像下載到JEditorPanes異步,有沒有殺死這些hunging圖像下載線程的能力嗎?
或者,也許有更好的解決方案?
謝謝
P.S. 使用SwingWorker。麻煩的是 - 如果某些圖片url不可用 - 所有JEditorPanes都無法下載他們的圖片。事實上他們沒有掛,但無法下載圖像。爲什麼?
P.P.S.
後臺線程:
JEditorPane jtp=new JEditorPane();
jtp.setContentType("text/html");
jtp.setPreferredSize(newDimension(20,250));
StringBuilder sb=new StringBuilder();
sb.append("<img src='").append(url).append("'/>");
jtp.setText(sb.toString());
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
myPanel.add(rigid,0);
myPanel.add(jtp,0);
myPanel.revalidate();
}
});
謝謝。但我使用它們。麻煩的是 - 如果某些圖片url不可用 - 所有JEditorPanes都無法下載他們的圖片。爲什麼? – stemm
@stemm真的你必須發佈可運行的代碼,顯示你的issee(e),包括代碼在哪裏驗證/測試URL ...,因爲SWingWorker是相當可取消的 – mKorbel
請看看我的問題的編輯。 – stemm