私は内部にJEditorPanesをほとんど含まない単純なSwingアプリケーションを作成しようとしています。各JEditorPaneには、内部にhtmlタグを含むテキストが含まれます。また、いくつかのペインには、タグ<img src='http://some.url' />
でhtmlが含まれています。つまり、イメージがWebのどこかにある可能性があります。 問題は、画像URLの1つが利用できない場合、私のJEditorPaneとアプリケーション全体がハングすることです。(私は自分のスレッドでJEditorPanesを構築し、構築後SwingUtilities.invokeLater(...)
を使用してメインフレームに入れています)私はイメージが非同期にJEditorPanesにダウンロードすることを信じてJEditorPaneの非同期イメージダウンロードに関する問題
、スレッドをダウンロードするこれらhunging画像を殺すためにどんな能力があるのでしょうか?
もっと良い解決策がありますか?
ありがとう
P.S. SwingWorkerが使用されています。問題は、 - いくつかの画像URLが利用できない場合、JEditorPaneはすべて画像をダウンロードできません。実際に彼らは掛かっていませんが、画像をダウンロードすることはできません。どうして?
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が利用できない場合、JEditorPaneはすべて画像をダウンロードできません。どうして? – stemm
@stemm SWingWorkerはかなりキャンセル可能であるため、実際にはあなたのissee(e)を表示する実行可能コードを投稿する必要があります。コードの検証/テストURLは... – mKorbel
私の質問を編集してください。 – stemm