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组件的外观:
为什么我已经开始使用全新的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); } } } } }