为什么更换内面板时会出现闪烁?
只是一个小问题。 目前正在为安装了 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能需要实现双缓冲:
标准 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.