Java 仿 IntelliJ IDEA idea的 UI 框架 flatlaf——《我的Java打怪日记》

简介: 使用JAVA写界面一直是一个麻烦事,作为一个前端,在写前端页面的时候有不少的UI库可以使用。于是聪明机智的我,就想到也许JAVA上也许会有一个类似的UI库,可以直接引入调用。而作为一个软件,我本人一直欣赏intelliJ编译器的界面,所以就去狠狠的搜索了一下有没有仿照它做出来的UI库。 结果显而易见,是有的!一款叫做 FlatLaf 的 UI 库就是仿照intelliJ编译器做出来的UI库,大家可以通过MAVEN直接引用它,放到自己的软件中去。

前言

众所周知,JAVA这门语言,深受不少程序员小伙伴的喜爱。当然世界上最好的语言还是PHP。好的,不说废话,让我们直接进入正题。不少使用Java编程语言的小伙伴,会使用IntelliJ IDEA这款编译器。而这款编译器的界面也非常的有科技感。不少小伙伴也许撇下eclipse的原因就是被intelliJ的颜值给吸引到了。当然我个人也非常的喜欢IntelliJ的界面。

正题

使用JAVA写界面一直是一个麻烦事,作为一个前端,在写前端页面的时候有不少的UI库可以使用。于是聪明机智的我,就想到也许JAVA上也许会有一个类似的UI库,可以直接引入调用。而作为一个软件,我本人一直欣赏intelliJ编译器的界面,所以就去狠狠的搜索了一下有没有仿照它做出来的UI库。
结果显而易见,是有的!一款叫做 FlatLaf 的 UI 库就是仿照intelliJ编译器做出来的UI库,大家可以通过MAVEN直接引用它,放到自己的软件中去。

FlatLaf 是个什么库?

首先放一下它的官网:https://www.formdev.com/flatlaf/
然后它的全称就是 Flat Look and Feel ,平面(flat)的外观和感觉。
官方文档是这么介绍的:

FlatLaf is a modern open-source cross-platform Look and Feel for Java Swing desktop applications.
It looks almost flat (no shadows or gradients), clean, simple and elegant. FlatLaf comes with Light, Dark,IntelliJ and Darcula themes, scales on HiDPI displays and runs on Java 8 or newer.
The look is heavily inspired by Darcula and IntelliJ themes from IntelliJ IDEA 2019.2+ and uses almost the same colors and icons.

我给大家翻译下:

FlatLaf 是一款现代的开源跨平台的为JAVA Swing桌面应用开发的 东西。它看起来基本是平的(没有阴影或渐变)、干净、简单、优雅。FlatLaf 带有 亮色、黑色、IntelliJ、德古拉 主题,在 HiDPI 显示器上缩放,在 Java 8 或更新版本上运行。外观非常受到 IntelliJ IDEA 2019.2+版本自身 及其Darcula 主题启发,基本上使用相同颜色和图标。

如果把它用在自己的项目中?

很简单的在 pom.xml 中添加以下代码就可以使用了。

        <dependency>
            <groupId>com.formdev</groupId>
            <artifactId>flatlaf</artifactId>
            <version>1.0</version>
        </dependency>

如果想切换IntelliJ主题还可以添加以下包

        <dependency>
            <groupId>com.formdev</groupId>
            <artifactId>flatlaf-intellij-themes</artifactId>
            <version>1.0</version>
        </dependency>

如何启动

以下是我写的一个 Starter.java 可以将此UI应用到程序中。

import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.FlatLightLaf;
import com.formdev.flatlaf.intellijthemes.FlatDarkFlatIJTheme;

import javax.swing.*;

public class Starter {
    public static void main(String[] args){

        FlatLightLaf.install();
        FlatDarkFlatIJTheme.install();

        MainWindow frame = new MainWindow();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);

    }
}

代码解释:
需要 Import 相关的库,然后使用 FlatLightLaf.install(); FlatDarkFlatIJTheme.install(); 两句代码让样式库生效。这两句是重点。

享受新的样式

通过以上的方式,就可以将这个UI库应用到自己的程序中了。如果大家对这个UI库有更多的想要探索的地方,它也是一个开源的程序,可以在GITHUB上面来查看。额外的,也可以下载它的DEMO程序来查看它的样式使用起来是什么效果的。在这里我贴上网址 :https://github.com/JFormDesigner/FlatLaf
它也不单单只有亮色和黑色,还有其他很多颜色,比如紫色之类的,可以自定义的程度还是非常高的。可以引入它不同的主题的包来更换。十分方便。

感谢各位小伙伴浏览此教程!

相关文章
|
2月前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
75 0
|
17天前
|
Java
轻松上手Java字节码编辑:IDEA插件VisualClassBytes全方位解析
本插件VisualClassBytes可修改class字节码,包括class信息、字段信息、内部类,常量池和方法等。
66 6
|
2月前
|
存储 JavaScript 开发者
探索鸿蒙新世界:ArkUI框架实战指南,解锁HarmonyOS应用UI设计的无限可能!
【10月更文挑战第19天】ArkUI框架是华为鸿蒙系统中用于开发用户界面的核心工具,支持ArkTS和eTS两种开发语言。本文介绍了ArkUI的基本概念、组件使用、布局管理和状态管理,通过示例代码帮助开发者轻松构建美观、高效的跨设备UI。
94 3
|
22天前
|
Rust JavaScript 前端开发
ES6 awaitRust UI 框架
ES6 awaitRust UI 框架
|
22天前
|
前端开发 JavaScript
electron ui框架
Electron是一个使用JavaScript, HTML和CSS等前端技术构建跨平台桌面应用程序的框架。
62 0
|
20天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
63 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
80 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
2月前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
33 6
|
2月前
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
53 2
|
2月前
|
缓存 测试技术 C#
使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题
【10月更文挑战第20天】本文介绍了使用 Radzen Blazor 组件库开发基于 ABP 框架的炫酷 UI 主题的步骤。从准备工作、引入组件库、设计主题、集成到 ABP 框架,再到优化和调试,详细讲解了每个环节的关键点和注意事项。通过这些步骤,你可以打造出高性能、高颜值的应用程序界面。