是否有基于平面设计概念的Java外观?

Clá*_*dio 11 java swing look-and-feel

我有5个用于工程的java系统,其UI是使用Swing开发的.

大约10年前,我们开始开发这些系统,每个系统都有大约300K行代码.所有这些系统都处于生产环境中.

关于这些系统的用户界面困扰我们的一个问题是,与手机,平板电脑和网站的大型可用UI相比,它们看起来很旧.

手机,平板电脑和网站UI有什么共同之处?它们的外观基于扁平设计理念.

因此,我们正在开展一项研究,寻找低成本替代方案,为我们的系统提供面向平面设计的现代外观.

我们想到的第一个选项是搜索基于平面设计概念实现的java L&F.但我们没有找到一个.

有没有人知道是否有基于Java的外观和感觉,特别是平面设计概念?

最好的问候,Cláudio.

jef*_*unt 6

没有预先构建的,并且Swing中的UI是......好吧......我曾经遇到的最痛苦的开发经历之一.UI本质上是特定于平台的,因此跨平台UI是任何半复杂UI的管道梦想.它唯一适用的地方是你的UI基本上是一个菜单栏和一个你自己绘制UI的表面.

也就是说,我认为长期你可能会在某种程度上研究自定义UI和小部件工作,虽然这将是很多自定义UI工具的工作,但权衡是至少你会从那一点控制UI转发,可以随着时间的推移保持最新,你不必担心Java决定什么是好的UI设计.

一些可能的选择,没有一个没有重大痛苦:

  1. 选择两个内置L&F选项之一,或将其设置为平台默认(您的应用程序看起来像本机平台),但您必须分别在每个平台上调试应用程序以确保UI一致地工作.至少使用此选项,如果您将其设置为使用平台默认设置,则应用程序在其所使用的操作系统上看起来大致类似于本机应用程序.
  2. 看看SWT - 从长远来看可能不值得 - 你只是在为另一个人交换一套不那么想法的情况,我认为,但至少可以了解你的选择.
  3. 使用CSS为L&F打造风格 - 从未尝试过这个 - 但也许值得一看.但就个人而言,我会避免任何投资更多的时间结合您的应用程序摇摆,如果你能避免它.正如您所见,这只是那些恶劣的桌面体验之一.
  4. 将您的应用程序作为Web应用程序提供,我确信这是一个重要的重新架构,并且只需让用户通过浏览器访问它.我意识到这可能是"核选择",并且完全不切实际,但只是把它扔出去.
  5. 搞砸了,让你的应用继续看起来像垃圾.世界上的命运更糟糕.

  • 在我阅读了所有答案之后,我得出结论,目前还没有基于平面设计概念的 L&F ...... (2认同)