我有一个Java Applet可以显示图像。我在paint()中有一个true循环,以便通过tcp / ip套接字永久接收新图像。现在,我遇到了一个问题,即使关闭了选项卡,应用程序仍在从服务器请求新图像。我该如何解决?
最佳答案
为了清楚起见:
我在while(true)
中有一个paint()
循环,以便通过tcp / ip套接字永久接收新图像。
不要这样绘画方法永远不会阻塞更长的时间。它应该只绘制您的图像,而没有其他内容。 (只要运行paint方法,GUI中的其他操作就什么也不能做。这对于您的applet可能并不重要,但是对于更复杂的程序而言是必需的。)
如果需要加载新图像,请在单独的线程中执行此操作,将图像放入变量中,然后在最后调用repaint()
。然后paint方法从变量中获取图像并将其绘制到屏幕上。
关于java - 关闭浏览器时如何杀死循环中的Java-Applet?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6323773/