[英]java Swing using JFrame.pack() repeatedly - how efficient is it?
简而言之,我想知道,如果我在已经确定大小的框架上调用JFrame.pack()
,是否需要花费很长时间来分析此问题,或者它会立即返回? 我要求提高效率。 我的帧中有一张图片正在循环中每秒更新多次。 现在,至少在绘制了第一张图片之后,必须调用JFrame.pack()
,以确保帧大小正确。
为了解决这个问题,我(用伪代码)是:
boolean flag = false
while (condition) {
getNextPicture();
updateFrameWithPicture()
if (!flag) {
frame.pack()
flag = true;
}
}
现在,我想知道是否仅将标志的检查frame.pack()
并且始终调用frame.pack()
会不会有问题。 程序是否可以足够快地确定框架是否已经正确大小?
在显示RTP套接字上收到的图像时,要估算性能上的差异是棘手的。
您正在微优化代码。 通过套接字获取外部数据总是比重新绘制框架要慢。
我实际上是在使用摇摆计时器
您不应该使用计时器来实际读取套接字上的图像。 读取图像时,GUI会阻塞。 您应该使用单独的线程来读取图像。 您最好使用SwingWorker
,然后在图像可用时将它们publish()
。 阅读Swing 并发教程中的有关更多信息的部分。
只是认为用while循环来描述我的问题会更容易。
不,最好提供实际代码,因为您会看到当前代码不正确。 不要猜测你在做什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.