3

Eclipse の AWT コンポーネントで単純なちらつきの問題があります。これが私の「階層」です。

  1. org.eclipse.swt.widgets.Composite=> メイン ViewPart オブジェクトが受け取った親 ( createPartControl())
  2. org.eclipse.swt.widgets.Composite=> 動作を持つメインの親の子SWT.EMBEDDED
  3. java.awt.Frame=> bridge 関数で作成された 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 に答える