java - AWT/SWT 组件的闪烁问题

标签 java eclipse swing swt awt

我在 eclipse 中的 AWT 组件有一个简单的闪烁问题。 这是我的“层次结构”:

  1. org.eclipse.swt.widgets.Composite => 我的 ViewPart 对象接收到的主要父对象(在 createPartControl() 中)
  2. org.eclipse.swt.widgets.Composite => 具有行为 SWT.EMBEDDED
  3. 的主要父级的子级
  4. java.awt.Frame => 使用桥接函数 SWT_AWT.new_Frame() 创建的 awt 框架(2. 的 child )
  5. javax.swing.JComponent => 我的最终展示(3 岁的 child )

一切正常,我可以操作我的 JComponent View 。大小还可以,但 View 一直在闪烁/闪烁。 应该注意的是,之前,我使用了 JPanel 作为 3. 的子项,然后是 JComponent。使用这个替代解决方案,尺寸不合适,但我没有看到任何闪烁。

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

非常感谢您的帮助。

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

最佳答案

在您的 JComponent 上启用双缓冲:

component.setDoubleBuffered(true);

关于java - AWT/SWT 组件的闪烁问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18656965/

相关文章:

python - 如何在Eclipse pyDev中创建python发行包

java - 在 setInput() 之前保存 TreeViewer 状态

java - jSlider 转到点击位置 - 仅在 Macintosh 上出现问题

java - Apache POI getStringCellValue() 打印 null

java - 无法加载 Firebird 客户端库 : Embedded database with Jaybird

java - 在 Java 中标记二进制数据

java - 更改 eclipse.ini 文件后 Eclipse 无法创建 Java 虚拟机

java - 如何在 Swing 上将标签控件绑定(bind)到条目控件

java - 从jtable中插入数据到sqlite数据库

java - 如何在Java中建立float和int值之间的双向一对一映射?