Java外观和感觉(L&F)

我正在开发一个Java Swing桌面应用程序,供我个人使用。我需要为我的应用程序提供一些漂亮的外观和感觉。 我怎样才能使用Java或第三方API?

LaF有很多可能性:

  • 本机为您的系统
  • 灵魂 LaF
  • Web LaF
  • 物质项目(分成不实质项目)
  • 餐巾LaF
  • 咸阳市
  • Quaqua (看起来像MacOS X的Aqua)
  • SEAGLASS
  • JGoodies数据
  • Liquidlnf
  • 合金的外观和感觉
  • PgsLookAndFeel
  • JTatoo
  • 吉德的外观和感觉
  • 等等

资源:

  • 最佳Java Swing外观和感觉主题| 前10名 (这个页面上的很多预览图片现在都没有了)
  • oracle.com – 修改外观和感觉
  • wikipedia.org – 可插入的外观和感觉
  • Java2s.com – 外观和感觉

相关话题 :

  • Java gui的外观和感觉的变化
  • java swing应用程序的开源laf [look n feel]

你可以试试我正在开发的L&F – WebLaF
它结合了成功的UI开发所需的三个部分:

  • 用于Swing应用程序的跨平台可重新编程的L&F
  • 大型扩展Swing组件
  • 各种公用事业和经理

二进制文件: https //github.com/mgarin/weblaf/releases
来源: https //github.com/mgarin/weblaf
许可证: GPLv3和商业

下面是一些示例,展示了一些WebLaF组件的外观: 一些WebLaF组件

为什么我已经开始使用全新的L&F?主要原因是现有的L&F大部分缺乏灵活性 – 在大多数情况下,您不能重新devise它们的样式(只能更改几种颜色并打开/closures某些UI元素) /或只有不方便的做法。 当涉及到定制/第三方组件样式时,它更糟 – 它们看起来不像某些特定的L&F或甚至完全不同的其他组件,这使得你的应用程序看起来不专业和不愉快。

我的目标是提供一个完全可定制的L&F,其中包含一些广为人知的有用组件(例如:dateselect器,树形表,可停靠和文档窗格以及其他许多组件)以及其他有用的pipe理器和实用程序,这将减less将WebLaF快速集成到您的应用程序所需的代码量,并帮助您使用Swing创build出色的用户界面。

你可以在这里find很多Synthetica主题。

这里也是一个很好的资源与免费的,skinnable,商业和停产的外观和感觉列表: http : //www.javootoo.com/

你也可以使用JTattoo( http://www.jtattoo.net/ ),它有几个很酷的主题可以使用。

只需下载jar并将其导入到类path中,或者将其添加为maven依赖项即可:

 <dependency> <groupId>com.jtattoo</groupId> <artifactId>JTattoo</artifactId> <version>1.6.11</version> </dependency> 

以下是一些很酷的主题:

  • com.jtattoo.plaf.acryl.AcrylLookAndFeel
  • com.jtattoo.plaf.aero.AeroLookAndFeel
  • com.jtattoo.plaf.aluminium.AluminiumLookAndFeel
  • com.jtattoo.plaf.bernstein.BernsteinLookAndFeel
  • com.jtattoo.plaf.fast.FastLookAndFeel
  • com.jtattoo.plaf.graphite.GraphiteLookAndFeel
  • com.jtattoo.plaf.hifi.HiFiLookAndFeel
  • com.jtattoo.plaf.luna.LunaLookAndFeel
  • com.jtattoo.plaf.mcwin.McWinLookAndFeel
  • com.jtattoo.plaf.mint.MintLookAndFeel
  • com.jtattoo.plaf.noire.NoireLookAndFeel
  • com.jtattoo.plaf.smart.SmartLookAndFeel
  • com.jtattoo.plaf.texture.TextureLookAndFeel
  • com.jtattoo.plaf.custom.flx.FLXLookAndFeel

问候

对Synthetica来说是 +1,我在过去的几年里一直和Jide一起使用它,并且对UI非常满意:(我们的UI的截图让你在实践中得到一些关于如何在实践中使用的想法。 )

下面是创build对话框的代码,它允许您的应用程序的用户根据用户的系统更改外观和感觉。 或者,如果您可以在应用程序中存储想要的外观和感觉,那么它们可以是“便携”的,这是期望的结果。

  public void changeLookAndFeel() { List<String> lookAndFeelsDisplay = new ArrayList<>(); List<String> lookAndFeelsRealNames = new ArrayList<>(); for (LookAndFeelInfo each : UIManager.getInstalledLookAndFeels()) { lookAndFeelsDisplay.add(each.getName()); lookAndFeelsRealNames.add(each.getClassName()); } String changeLook = (String) JOptionPane.showInputDialog(this, "Choose Look and Feel Here:", "Select Look and Feel", JOptionPane.QUESTION_MESSAGE, null, lookAndFeelsDisplay.toArray(), null); if (changeLook != null) { for (int i = 0; i < lookAndFeelsDisplay.size(); i++) { if (changeLook.equals(lookAndFeelsDisplay.get(i))) { try { UIManager.setLookAndFeel(lookAndFeelsRealNames.get(i)); break; } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { err.println(ex); ex.printStackTrace(System.err); } } } } }