【问题标题】:Custom Swing look and feel vs. custom components?自定义 Swing 外观和感觉与自定义组件?
【发布时间】:2011-03-10 18:17:51
【问题描述】:

我正在使用 Swing 编写游戏,并希望为 GUI 实现独特的“蒸汽朋克”风格外观。这将需要一些动画组件、厚实的金属边框等。

我知道我可以通过覆盖paintComponent 并在该方法中为自定义轻量级组件进行所有渲染来获得很好的效果。

这是要走的路,还是我应该考虑开发一种全新的可插拔外观?

各有什么优缺点?

【问题讨论】:

  • 查看my answer 几周前的一个几乎相同的问题。

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


【解决方案1】:

创建新的 L&F 是一条漫长的道路,但可以让您的代码保持简单。 (如果你只需要一些改变,那是不值得的。)例如,动画可以在 L&F 部分进行编码,所以你不需要在你的组件中担心它。我建议编辑一个接近你需要的 L&F。

【讨论】:

    【解决方案2】:

    就个人而言,我认为您应该采用全新的外观和感觉...您也可以使用 Synth L&F 构建它,而不是自己编写所有内容。

    Nimbus 是在 Synth 之上编写的 L&F 示例。

    【讨论】:

    • 谢谢!这被证明是一个很好的建议:我设法在几个小时内让一个定制版本的 Synth 工作并渲染了一些闪亮的新组件。
    • +1 用于 Synth LAF,它是一个很棒的 LAF(如果基础 Synth UI 对象是公开的并且不友好的话会更好......咳咳)。 @mikera 只是,如果你考虑到大量的变化和一个重度使用的应用程序,最好不要使用xml配置和通过图像绘制,而是在代码中实现自定义painters和配置(参见Nimbus实现在 java7).消耗更少的内存,并且更易于管理。
    猜你喜欢
    • 2011-06-17
    • 2021-12-16
    • 1970-01-01
    • 2012-11-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多