内部にいくつかの JEditorPanes を含む単純な Swing アプリケーションを作成しようとしています。各 JEditorPane には、内部に html タグを含むテキストが含まれています。また、一部のペインにはタグ付きの html が含まれています<img src='http://some.url' />
。これは、画像が Web のどこかにある可能性があることを意味します。問題は、画像の URL の 1 つが利用できない場合、すべての JEditorPanes とアプリケーション全体がハングすることです。(私は自分のスレッドで JEditorPanes を構築しており、構築後に を使用してそれらをメイン フレームに配置していますSwingUtilities.invokeLater(...)
)
画像が JEditorPanes に非同期的にダウンロードされると思いますが、ハングしているこれらの画像ダウンロード スレッドを強制終了する機能はありますか?
それとも、より良い解決策がありますか?
ありがとう
PS SwingWorker を使用しています。問題は、一部の画像 URL が利用できない場合、すべての JEditorPanes が画像をダウンロードできないことです。実際にはハングしませんが、イメージをダウンロードできません。なんで?
PPS
バックグラウンド スレッド:
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();
}
});