2010-07-07 27 views
4

我执行自定义外观&感觉使用合成器为我的应用 - 提供基本SynthStyle的,和的SynthPainter的的SynthStyleFactory定制版。插图定制Synth外观

我是而不是使用任何XML,即一切都通过Java API完成。一般来说,这工作得很好。

然而,设置合适的插页的最好方法是有点棘手。我可以看到各种选项:

  • 改写为的getInsets SynthStyle的返回特定插图为每个区域
  • 使用SynthStyle.installDefaults
  • 将所有的插图,以应用边框组件(0,0,0,0 )和绘画方法补偿
  • 创建新ComponentUI委托

会是什么,最好的办法,为什么?

回答

1

你有没有对此做出决定呢?这是我对事物的意见了......

重写getInsets()看起来像一个很好的解决方案,如果你有一个简单的风格,配有少量的上下文。它应该有助于在整个GUI中保持insets一致,只需要一点改变。

为这个目的应用一个空的边框对组件来说似乎有点ha ha。如果您需要将自定义边框应用于组件,则可能会无意中删除空边框,除非您覆盖setBorder()方法以使用复合边框。

所有插图设置为0,是不必要的,因为他们从0开始已经......我会在重写漆方法的思想很害怕!这通常是为了对组件添加收尾,而不是重新定义它们的整个边界。

我不完全知道如何创建一个新的ComponentUI会有所帮助,因为这主要与大小和绘画做(如上述)。

我会尝试选择1首,因为它会对你的应用程序的全局效果,然后再开始工作了异常和上下文要投入它是什么。