我在日食中的AWT组件上有一个简单的闪烁问题。这是我的"层次结构":
-
org.eclipse.swt.widgets.Composite
=我的 ViewPart 对象收到的> 个主父级(以createPartControl()
为单位) -
org.eclipse.swt.widgets.Composite
=>具有行为SWT.EMBEDDED
的主父级的子级 -
java.awt.Frame
=> 使用桥接函数创建的 awt 帧SWT_AWT.new_Frame()
(2 的子项)。 -
javax.swing.JComponent
=>我的最终显示(3 个孩子)。
一切正常,我可以操纵我的 JComponent 视图。大小还可以,但视图一直在闪烁/闪烁。需要注意的是,以前,我使用 JPanel 作为 3 岁的孩子。然后是JComponent。使用这种替代解决方案,尺寸不行,但我没有任何闪烁。
有没有办法解决这个问题,或者至少有一些提示来理解这种行为?
提前非常感谢您的帮助。
[编辑:我通过保留中间JPanel并使用布局找到了解决问题的方法。我仍然有兴趣了解病理行为]
在
JComponent上启用双缓冲:
component.setDoubleBuffered(true);