我想问一下,是否有人可以解决我面临的问题。我正在一个应用程序中工作,该应用程序绘制动画 - 例如带有移动对象的地图。我的问题是,在绘图的顶部,还放置了一个 Jtable、Jlist 以及其他组件。
在我的特定示例中,所有这些组件都已添加到保存地图的面板中。结果,每个组件都像我的 fps 一样频繁地重绘。因此,使其中一张表不可见可以将本来就很高的 cpu 使用率(有时大约 50% 降低到 30% 以下)降低。
我的问题是,我怎样才能避免调用有些静态的视觉内容 paintComponent() 方法,而没有“背景” - 地图 - 使菜单变白。
由于动画永久重绘菜单根本不显示,如果它与相应的 JPanel 分开。
最初的想法转向以下方向:
剪辑——实际上没有我想的那么好,因为我喜欢在菜单中移动。JLayeredPane - 已经尝试过但似乎结果是,菜单的paintComponent 方法仍然被频繁调用。JWindow/Internal Frame - 几分钟前有这个想法。拥有一个完整的独立容器应该可以处理我的问题,或者?
我期待着,如果有人有一个优雅的想法,如何解决这个问题并显着减少 CPU 使用率。
谢谢!!此致。