代码主题darcula_仿IntelliJ Darcula的Swing主题FlatLaf使用方法

代码主题darcula_仿IntelliJ Darcula的Swing主题FlatLaf使用方法最近Sandeepin想写个基于JavaSwing的RSS阅读器练练手,不过Swing默认主题太丑了,切成系统原生的主题也不是非常好看,正好感觉开发时用的IDEA主题很不错,不管是Light还是Darcula,都符合现代UI的设计风格。自己仿界面肯定很难仿出来,于是网上找找有没有类似风格的SwingUI库。首先找到的是Mouse0w0开源的JavaFXDarculaTheme,不过这是Java…

大家好,又见面了,我是你们的朋友全栈君。

最近Sandeepin想写个基于Java Swing的RSS阅读器练练手,不过Swing默认主题太丑了,切成系统原生的主题也不是非常好看,正好感觉开发时用的IDEA主题很不错,不管是Light还是Darcula,都符合现代UI的设计风格。自己仿界面肯定很难仿出来,于是网上找找有没有类似风格的Swing UI库。

首先找到的是Mouse0w0开源的JavaFXDarculaTheme,不过这是JavaFX的,先收藏吧。之后找到一个IntelliJ开发者放出的Darcula界面库,试了试效果很不错,可惜只有黑色主题。最后找到的FlatLaf则完美了,支持Light和Darcula,还有自己配色的几种风格,于是尝试折腾一下。

FlatLaf官方介绍说本库是用于Java Swing桌面应用程序的现代的开源的跨平台的外观库。整个UI都是扁平化风格,支持Light、Dark、IntelliJ、Darcula和一些自己配色的主题,Java 8以上支持高DPI,无依赖,支持MigLayout布局,整合得挺好的。自己运行了一下官方demo,暗色主题效果和IDEA非常相近:

代码主题darcula_仿IntelliJ Darcula的Swing主题FlatLaf使用方法

使用方法很简单,首先Maven中引入依赖库:

com.formdev

flatlaf

0.26

之后在启动JFrame之前先执行FlatLightLaf.install();即可,我用的是Light主题,如果想启动Darcula,则运行FlatDarculaLaf.install();

代码主题darcula_仿IntelliJ Darcula的Swing主题FlatLaf使用方法

包com.formdev.flatlaf下可看到多种风格均内置了install这种简单安装方法:

代码主题darcula_仿IntelliJ Darcula的Swing主题FlatLaf使用方法

官方还指出了另一种启用主题的方法,方便切换主题:

try {

UIManager.setLookAndFeel( new FlatLightLaf() );

} catch( Exception ex ) {

System.err.println( “Failed to initialize LaF” );

}

几种常用的配置:

圆角方角:

UIManager.put( “Button.arc”, 0 );

UIManager.put( “Component.arc”, 0 );

箭头类型:

UIManager.put( “Component.arrowType”, “chevron” );

UIManager.put( “Component.arrowType”, “triangle” );

滚动条的上一个/下一个箭头按钮默认情况下是隐藏的,可以配置,宽度也可以修改:

UIManager.put( “ScrollBar.showButtons”, true );

UIManager.put( “ScrollBar.width”, 16 );

异想家Sandeepin还发现,甚至,FlatLaf支持IntelliJ平台主题!

下载源代码,获取.theme.json文件,拷到本地resources,使用:

IntelliJTheme.install(MyApp.class.getResourceAsStream(“/com/myapp/themes/arc-theme-orange.theme.json”));

最后附上自己调用FlatLaf做的RSS阅读器的界面,功能还在开发中,做的差不多了也开源出来分享。

代码主题darcula_仿IntelliJ Darcula的Swing主题FlatLaf使用方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/153508.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux objdump命令,Linux objdump命令

    linux objdump命令,Linux objdump命令一、简介objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具。二、选项三、实例1)显示文件头信息objdump-ftest2)显示SectionHeader信息objdump-htest3)显示全部Header信息objdump-xtest4)显示全部Header信息,并显示对应的十六进制文件代码objdump-stest5)输出目标文件的符号表objdump…

    2022年10月30日
  • 手把手包教会_手把手地教是什么意思

    手把手包教会_手把手地教是什么意思文章目录前言?往期知识点Selenium简介1.1,组件1.2,特点前言Selenium是一个用于web自动化测试的框架,在使用Ajax请求数据的页面中,会出现sign,token等密钥,如果考虑去激活成功教程可能花费的精力较多,所以考虑借助使用Selenium框架来实现数据爬取。?往期知识点?往期内容回顾?python教程】保姆版教使用pymysql模块连接MySQL实现增删改查?python+requests+BeautifulSoup实现对数据保存到mysql数据库?sele

    2022年10月20日
  • 滴滴安全再升级:乘客醉酒乘车规则拓至全国15城[通俗易懂]

    滴滴安全再升级:乘客醉酒乘车规则拓至全国15城[通俗易懂]滴滴安全再升级:乘客醉酒乘车规则拓至全国15城

  • ES7学习笔记(十三)GEO位置搜索

    ES7学习笔记(十三)GEO位置搜索

    2020年11月14日
  • matlab绘制plot_matlab最基本的绘图函数为

    matlab绘制plot_matlab最基本的绘图函数为1,颜色和线条:bblue蓝.point-solidggreen绿ocircle:dottedrred红xx-mark

  • 位运算符按位取反_计算机基础常见问题讨论

    位运算符按位取反_计算机基础常见问题讨论程序中的所有数在计算机内存中都是以二进制的形式储存的。位操作是程序设计中对位模式或二进制数的一元和二元操作。在许多古老的微处理器上,位运算比加减运算略快,通常位运算比乘除法运算要快很多。在现代架构中,情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算)。(摘自维基百科)位运算对CPU很友好,是一种程序优化手段,也是大厂面试中常常会提及的话题。在日常的编程中用到为运算,也是可以实现许…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号