gpt4 book ai didi

java - 我什么时候应该为 Java Swing 编写自己的外观而不是自定义外观?

转载 作者:行者123 更新时间:2023-11-30 05:59:41 25 4
gpt4 key购买 nike

我为 Java Swing 使用了一些不同的外观和感觉,但我并不是 100% 喜欢任何一个,所以我经常最终对其进行大量自定义。有时我在想编写自己的 LaF(通过扩展现有的 LaF)是否是一个更好的主意,但我真的不知道。

目前,我主要使用 Nimbus ,但我更改了所有颜色(改为较暗的颜色)并重写了某些组件的外观,例如 sliders和滚动条。我还主要自定义所有表格,并且正在考虑更改其他一些组件的外观。

什么时候建议创建一种新的外观而不是自定义外观?有什么优点和缺点?

即自定义 Nimbus 还是通过扩展 Nimbus 创建一个新的 Nimbus?

相关文章:Creating a Custom Look and Feel (旧)

最佳答案

When is it recommended to create a new Look-and-Feel instead of customizing one?

  • 当您希望您的应用在每个主要平台上看起来几乎完全相同时
  • 当您想摆脱“无用的赠品”时,您的应用程序是 Java 应用程序(这是相当多为 OS X 用户销售商业软件的程序员所关心的问题,Java 在用户中的声誉非常差 [这是不值得的] ,但这是事实])。

这里有一个例子,展示了你必须经历的那种疾病,才能增强一点点可悲的 JTable(顺便说一句,这个博客的作者后来被 Apple 雇用了):

http://explodingpixels.wordpress.com/2009/05/18/creating-a-better-jtable/

What are the pros?

可以使应用程序看起来几乎相同(唯一的区别是字体渲染,从 OS X 到 Linux 再到 Windows,字体渲染略有不同......但它可以做得非常接近,或者您可以使用“非 AA”像素完美字体,看起来完全一样)。

and cons?

  • 您的应用根本不会具有原生外观。
  • 工作量很大(Swing 并不容易:它是某种过度设计、过度复杂的野兽,很难判断它是“令人难以置信的巧妙设计”还是“令人难以置信的愚蠢设计”)。

我已经编写了几个自定义 Swing 组件,它们在 Windows、Linux 和 OS X 上看起来完全相同相同(使用像素完美的字体),但我不会编写整个 LnF。

关于java - 我什么时候应该为 Java Swing 编写自己的外观而不是自定义外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2706209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com