SWT テーブルを備えた JFace TableViewer があり、一部のセルのコンテンツをカスタム レンダリングしたいと考えています。SWT コントロールを使用してセルのコンテンツをレンダリングしたいと考えています。
レンダリングを実行する Control のインスタンスを 1 つだけ持つことを希望しますが、行ごとに 1 つのインスタンスを作成する必要がある場合は、それで問題ありません。
次に、ソリューションは ContentProvider/LabelProvider アプローチと互換性がある必要があります (私は EMF を使用しています)。これは、Sniplet 126 ( http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets )で説明されているソリューションを使用できないことを意味します。
次に、カスタム描画の使用について考えました。しかし、ここでの問題は、個々の描画操作をグラフィックス コンテキストに送信する必要があることです。SWT.PaintItem で redraw() または print(GC) を呼び出して、コントロールにコンテンツをレンダリングさせようとしましたが、制御不能なちらつきにつながります。
現時点では、SWT.PaintItem を使用して描画を行うことをお勧めします。これにより、コンテンツを希望どおりにレンダリングできるコントロールが既にあるため、コードが重複します。この冗長性を防ぎたいと思います。
どんな助けでも大歓迎です!