ダブル・バッファリング とは、多くのオブジェクトを処理する際に、画面が不快にちらつくのを防止するときに使用する技法です。マネージャー・ビューは軽量コンポーネントとして、つまり
java.awt.Container
の直接のサブクラスとして実装されているため、それ自体だけではダブル・バッファリングを処理できません。AWT 環境でダブル・バッファリングを使用する場合、マネージャー・ビューは、IlvManagerView
のインスタンスのダブル・バッファリングを処理するために特別に設計された、重量コンポーネントの子である必要があります。これらのコンポーネントには、 IlvManagerViewPanel または IlvScrollManagerView クラスを指定できます。ダブル・バッファリングを処理する
IlvManagerViewPanel
クラスのメソッド、および IlvScrollManagerView
クラスのメソッドは次のとおりです。boolean isDoubleBuffering()
void setDoubleBuffering(boolean set)
Swing アプリケーションでは、マネージャー・ビューは
JComponent
に埋め込まれます。JComponent
オブジェクトには、独自のダブル・バッファリング機構があります。jcomponent.setDoubleBuffered(true);
IlvManagerView を IlvJManagerViewPanel または IlvJScrollManagerView に追加すると、ローカル・ダブル・バッファリングは IlvManagerView インスタンスで無効になり、代わりに Swing ダブル・バッファリングが使用されます。状況によっては、Swing ダブル・バッファリングが無効である場合に、ビューを Swing コンポーネントに追加した後で setDoubleBuffering を呼び出すことにより、 IlvManagerView ローカル・ダブル・バッファリングを有効にしてください。
例: ダブル・バッファリングの使用
この例では、標準
IlvManagerView
を作成し、IlvManagerViewPanel
に関連付け、ダブル・バッファリング・モードを設定します。IlvManager mgr = new IlvManager(); IlvManagerView v = new IlvManagerView(mgr); IlvManagerViewPanel panel = new IlvManagerViewPanel(v); panel.setDoubleBuffering(true);