1

大きな画像を表示しているパネルを作成しています。メソッドを使用ImageIO.read(URL)して画像を表示しています。ここで、指定された画像 URL の読み取りプロセスを中断または一時停止する機能を追加する必要があります。

これどうやってするの?

BufferedImage image = null;
URL urlImage = new URL(surl);
image = ImageIO.read(urlImage);
4

2 に答える 2

1

箱から出してそれを行う方法はありません。あなたができることは、これを別のスレッドに入れて停止または中断することです。

Thread.stop()は、正当な理由で非推奨としてマークされていることに注意してください。また、どのようなメモリ リークが発生する可能性があるかを考えてください。ところで。なぜそのような機能を追加する必要があるのですか?

于 2012-04-13T12:20:30.043 に答える
0

読み取り元のスレッドInputStreamを閉じることができる別のスレッドが必要になることは間違いありません。ImageIO.readしたがって、まず、コードを再設計する必要があります。

final InputStream stream = new URL(surl).openStream();
// find a way to push the 'stream' reference to the other thread
final BufferedImage image = ImageIO.read(stream); // this will block

他のスレッドでは、 を呼び出す必要がありますstream.close()

于 2012-04-13T13:04:53.307 に答える