アプリケーションに Synth を使用してカスタム ルック アンド フィールを実装しています。基本的には、SynthStyle、SynthPainter、SynthStyleFactory のカスタム バージョンを提供しています。
私はXML を使用していません。つまり、すべて Java API を介して行われます。一般的に、これはうまく機能しています。
ただし、適切なインセットを設定する最良の方法は、少しトリッキーです。さまざまなオプションが表示されます。
- SynthStyle の getInsets をオーバーライドして、各リージョンの特定のインセットを返す
- SynthStyle.installDefaults を使用してコンポーネントに境界線を適用する
- すべてのインセットを (0,0,0,0) に設定し、ペイント メソッドで補正します
- 新しい ComponentUI デリゲートを作成する
最善のアプローチは何ですか?またその理由は何ですか?