【问题标题】:Insets for custom Synth look and feel用于自定义 Synth 外观的插图
【发布时间】:2010-07-07 15:00:39
【问题描述】:

我正在为我的应用程序使用 Synth 实现自定义外观 - 基本上提供 SynthStyle、SynthPainter 和 SynthStyleFactory 的自定义版本。

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

然而,设置适当插图的最佳方法有点棘手。我可以看到各种选项:

  • 覆盖 SynthStyle 的 getInsets 以返回每个区域的特定插图
  • 使用 SynthStyle.installDefaults 为组件应用边框
  • 将所有插图设置为 (0,0,0,0) 并在绘画方法中进行补偿
  • 创建新的 ComponentUI 委托

最好的方法是什么?为什么?

【问题讨论】:

    标签: java user-interface swing look-and-feel synth


    【解决方案1】:

    您对此做出决定了吗?这是我对事情的看法...

    如果您有一个简单的样式和少量上下文,覆盖getInsets() 看起来是一个不错的解决方案。它应该有助于在整个 GUI 中保持插图的一致性,只需进行一点更改。

    为此目的,对组件应用空边框似乎有点不合时宜。如果您需要为组件应用自定义边框,那么您可能会无意中删除空边框,除非您覆盖 setBorder() 方法以使用复合边框。

    将所有插图设置为 0 是不必要的,因为它们已经从 0 开始......我会非常害怕重写绘画方法的想法!这通常是为了给组件添加最后的润色,而不是重新定义它们的整个边界。

    我不完全确定创建一个新的 ComponentUI 会有什么帮助,因为这主要与尺寸和绘画有关(如上)。

    我会先尝试选项 1,因为它会对您的应用程序产生全局影响,然后开始计算您想要放入哪些异常和上下文。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-04
      • 2016-06-12
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多