AWT / SWT组件闪烁问题



我在日食中的AWT组件上有一个简单的闪烁问题。这是我的"层次结构":

  1. org.eclipse.swt.widgets.Composite =我的 ViewPart 对象收到的> 个主父级(以 createPartControl() 为单位)
  2. org.eclipse.swt.widgets.Composite =>具有行为SWT.EMBEDDED的主父级的子级
  3. java.awt.Frame => 使用桥接函数创建的 awt 帧 SWT_AWT.new_Frame()(2 的子项)。
  4. javax.swing.JComponent =>我的最终显示(3 个孩子)。

一切正常,我可以操纵我的 JComponent 视图。大小还可以,但视图一直在闪烁/闪烁。需要注意的是,以前,我使用 JPanel 作为 3 岁的孩子。然后是JComponent。使用这种替代解决方案,尺寸不行,但我没有任何闪烁。

有没有办法解决这个问题,或者至少有一些提示来理解这种行为?

提前非常感谢您的帮助。

[编辑:我通过保留中间JPanel并使用布局找到了解决问题的方法。我仍然有兴趣了解病理行为]

JComponent上启用双缓冲:

component.setDoubleBuffered(true);

最新更新