繁体   English   中英

java Swing反复使用JFrame.pack()-效率如何?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM