为什么更换内面板时会出现闪烁?

发布于 2024-07-14 15:36:57 字数 265 浏览 7 评论 0原文

只是一个小问题。 目前正在为安装了 J9 的 Dell Axim X51 编写 Java 项目。 问题与我的界面有关,对于不同的屏幕,我只需交换一个嵌套面板(注意它正在运行 1.4 并且没有摆动),因此删除(面板) - 添加(新面板)。 问题是,当它交换面板时,所花费的时间是可见的并且会闪烁。

我想这是一个普通的刷新/缓冲问题,但我已经尝试过覆盖油漆和更新,所以我没有任何想法。 另外,如果有人特别不喜欢这种导航方法(在框架内交换面板),您能否建议一种更好的方法来解决这个问题?

Just a small problem. Currently coding a Java project for a Dell Axim X51 with J9 installed. The problem is to do with my interface, for different screens I simply swap a nested Panel (note its running 1.4 and NO swing), so remove(panel) - add(newPanel). The problem is when it swaps the panels the time taken to do so is visible and flickers.

I guess this is a run of the mill refresh/buffering problem but I have tried overriding paint and update so am fresh out of ideas. Also if someone has a particular dislike to this method of navigation (swapping panels within a frame) can you suggest a better way to go about this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云醉月微眠 2024-07-21 15:36:57

您可能需要实现双缓冲:

标准 Java AWT 中的双缓冲

或者,当您将旧面板“交换”为新面板时,将新面板最初设置为隐藏,然后仅在将其 add()ed 到其父容器后才使其可见。

You probably need to implement double-buffering:

Double buffer in standard Java AWT

Alternatively, when you "swap" an old panel for a new panel, set the new panel to be hidden initially, then make it visible only after it has been add()ed to its parent container.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文