3

我在 Eclipse 中的 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 并使用布局找到了解决问题的方法。我仍然有兴趣了解病态行为]

4

1 回答 1

1

在 JComponent 上启用双缓冲:

component.setDoubleBuffered(true);
于 2014-07-11T10:16:52.077 回答