私は電話gc.setAntialias(SWT.ON);
しましたが、それは何もしません。その方法によれば、それはうまくいくはずです。
Javadoc には次のように記載されています。
レシーバーのアンチエイリアシング値をパラメーターに設定します。パラメーターは、SWT.DEFAULT、SWT.OFF、または SWT.ON のいずれかでなければなりません。
私にはうまくいきません。単純なキャンバスにペイントしています。
以下は、私が作成したアプリで機能し、いつ/どのようにこれを行う必要があるかについての私の推測です。
そこで、新しい GC を作成し、あなたが行ったように Antialias を設定し、その GC オブジェクトで必要なものを描画しました。引き込むシェルに取り付けるのがポイントです。
GC gc = new GC(shell);
gc.setAntialias(SWT.ON);
//then I attach to LightweightSystem for testing.
LightweightSystem lws = new LightweightSystem(shell);
それ以外は、何かを描く前に必ずこれを行ってください。後で呼び出す必要がある場合は、スペース全体の再描画または再描画を呼び出してみてください。
詳細情報がなくて申し訳ありませんが、何が間違っているのか正確にはわかりません。
また、ラベルを描画する場合は、必ず使用してくださいgc.setTextAntialias( SWT.ON );
gc.getAdvanced()
また、trueが返されるかどうか、設定された後、setAntialias()
または設定されたかどうかを確認することもできますsetTextAntialias
。
それに加えて、それはかなり簡単です。
derBiggi の回答に従って、高度なオプションを強制的に true にすることもできます。
gc.setAdvanced(true)