Swing是一个为Java设计的GUI工具包,属于Java基础类的一部分。Swing包括了图形用户界面(GUI)功能,其组件包含:文本框、文本域、按钮、表格、列表等。
看着这个熟悉又陌生的界面,相信对大多数人来说Java Swing已经淡出了我们的视线。
再看看下面的界面,好像风格与上面完全不一样,但的确不这Swing。
原来Swing提供了可编程渲染模型,使用户可以对渲染细节进行控制。也就是使用了LAF,那么什么是LAF呢?
Java Swing LAF(Look and Feel)是用于更改Java Swing组件的外观和感觉的库。LAF可以为应用程序提供统一的视觉风格,并使其更具吸引力和易用。
还有Eclipse、NetBeans、Mapollage、Jotasync、Apache JMeter等,目前来看好像主要就在IDE这个领域中应用。
LAF 指的是 "Look and Feel",它是用户界面设计中的一个概念,用于描述应用程序或窗体的外观和感觉。在 Java Swing 中,LAF 是一种机制,允许开发人员轻松地更改应用程序的外观,以使其适应不同的操作系统或用户偏好。
Java Swing 库提供了一组默认的 Look and Feel,例如 Metal、Nimbus 等。每个 Look and Feel 都定义了组件的外观和行为,以便它们在屏幕上显示为特定的外观风格。用户可以选择使用不同的 Look and Feel 来改变应用程序的外观,以使其与操作系统或其他应用程序一致。
一些第三方库也提供了自定义的 Look and Feel:
DarculaLaf,它模仿了 IntelliJ IDEA 的深色外观风格(Dark Theme)。Darcula 是 Java 桌面应用程序的 Look-n-Feel 和代码编辑器主题。该存储库主要关注 Java 外观,并包含现成的库。
FlatLaf 是一个现代的 Java Swing Look and Feel,它提供了扁平化的外观,适用于创建现代化和清晰的用户界面。FlatLaf 通过提供扁平化的设计元素、清晰的图标和现代化的外观,使得 Swing 应用程序能够呈现现代风格的用户界面。
还有一些出色的LAF如JTattoo、WebLaF、Quaqua 等等。
Java Swing主要集中在 IDE(集成开发环境),如 IntelliJ IDEA, Eclipse, NetBeans 等,相比与QT之类的GUI,Java Swing的前景并不乐观。