我正在实施自定义Look&感觉使用Synth作为我的应用程序 - 基本上提供SynthStyle,SynthPainter和SynthStyleFactory的自定义版本。
我不使用任何XML,即一切都是通过Java API完成的。总的来说这很好用。
然而,设置适当插图的最佳方法有点棘手。我可以看到各种选择:
最好的方法是什么?为什么?
答案 0 :(得分:1)
你有没有做出这个决定呢?这是我对事情的看法......
如果您拥有一个具有少量上下文的简单样式,则覆盖getInsets()
看起来是一个很好的解决方案。它应该有助于保持整个GUI中的插图一致,只需要一个更改点。
对组件应用空边框似乎有点hackish为此目的。如果需要将自定义边框应用于组件,则可能会无意中删除空边框,除非您覆盖setBorder()
方法以使用复合边框。
将所有插入设置为0是不必要的,因为它们已经从0开始......我会非常害怕重写绘制方法!这通常用于为组件添加最后润色,而不是重新定义它们的整个边界。
我不完全确定如何创建新的ComponentUI
会有所帮助,因为这主要与尺寸和绘画有关(如上所述)。
我会首先尝试选项1,因为它会对您的应用程序产生全局影响,然后开始计算您想要添加的异常和上下文。