我正在为我的应用程序使用 Synth 实现自定义外观 - 基本上提供 SynthStyle、SynthPainter 和 SynthStyleFactory 的自定义版本。
我没有使用任何 XML,即一切都是通过 Java API 完成的。一般来说,这工作得很好。
然而,设置适当插图的最佳方法有点棘手。我可以看到各种选项:
- 覆盖 SynthStyle 的 getInsets 以返回每个区域的特定插图
- 使用 SynthStyle.installDefaults 为组件应用边框
- 将所有插图设置为 (0,0,0,0) 并在绘画方法中进行补偿
- 创建新的 ComponentUI 委托
什么是最好的方法,为什么?