Java Swing窗体JFrame之窗体美化-窗体及组件外观设置
可通过设置Swing的主题使窗体及控件达到部分美化的效果,当然也可以通过自定义控件或者自制UI的方式美化控件及窗体外观。这里只介绍Swing主题设置的几种方式。
一、Java Swing自带主题
Java中的几种LookandFeel(此部分代码在main方法打开GUI界面之前实现)
Metal风格(默认)
String lookAndFeel ="javax.swing.plaf.metal.MetalLookAndFeel";
UIManager.setLookAndFeel(lookAndFeel);
Windows风格
String lookAndFeel ="com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
UIManager.setLookAndFeel(lookAndFeel);
Windows Classic风格
String lookAndFeel ="com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel";
UIManager.setLookAndFeel(lookAndFeel);
Motif风格
String lookAndFeel ="com.sun.java.swing.plaf.motif.MotifLookAndFeel";
UIManager.setLookAndFeel(lookAndFeel);
Mac风格 (需要在相关的操作系统上方可实现)
String lookAndFeel ="com.sun.java.swing.plaf.mac.MacLookAndFeel";
UIManager.setLookAndFeel(lookAndFeel);
GTK风格 (需要在相关的操作系统上方可实现)
String lookAndFeel ="com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
UIManager.setLookAndFeel(lookAndFeel);
可跨平台的默认风格
String lookAndFeel =UIManager.getCrossPlatformLookAndFeelClassName();
UIManager.setLookAndFeel(lookAndFeel);
当前系统的风格
String lookAndFeel =UIManager.getSystemLookAndFeelClassName();
UIManager.setLookAndFeel(lookAndFeel);
二、JTattoo.jar主题
JTattoo由几种不同的Swing应用程序外观组成。使开发人员能够通过优秀的用户界面改进他们的应用程序。JTattoo为那些不喜欢标准JDK外观的用户打开了桌面应用程序的大门。
1)下载地址:
http://www.jtattoo.net/Download.html
https://mvnrepository.com/artifact/com.jtattoo/JTattoo
2)使用方法:
try {
JFrame.setDefaultLookAndFeelDecorated(true);
UIManager.setLookAndFeel("com.jtattoo.plaf.aero.AeroLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
3)常用皮肤:
com.jtattoo.plaf.noire.NoireLookAndFeel 柔和黑
com.jtattoo.plaf.smart.SmartLookAndFeel 木质感+xp风格
com.jtattoo.plaf.mint.MintLookAndFeel 椭圆按钮+黄色按钮背景
com.jtattoo.plaf.mcwin.McWinLookAndFeel 椭圆按钮+绿色按钮背景
com.jtattoo.plaf.luna.LunaLookAndFeel 纯XP风格
com.jtattoo.plaf.hifi.HiFiLookAndFeel 黑色风格
com.jtattoo.plaf.fast.FastLookAndFeel 普通swing风格+蓝色边框
com.jtattoo.plaf.bernstein.BernsteinLookAndFeel 黄色风格
com.jtattoo.plaf.aluminium.AluminiumLookAndFeel 椭圆按钮+翠绿色按钮背景+金属质感
com.jtattoo.plaf.aero.AeroLookAndFeel xp清新风格
com.jtattoo.plaf.acryl.AcrylLookAndFeel 布质感+swing纯风格
com.jtattoo.plaf.graphite.GraphiteLookAndFeel
com.jtattoo.plaf.texture.TextureLookAndFeel
三、substance-6.0.jar主题
1)依赖库
laf-plugin-7.2.jar
http://www.java2s.com/Code/Jar/l/Downloadlafplugin72jar.htm
laf-widget-7.0.jar
http://www.java2s.com/Code/Jar/l/Downloadlafplugin72jar.htm
trident-7.0.jar
http://www.java2s.com/Code/Jar/l/Downloadlafplugin72jar.htm
2)使用方法:
这是因为Swing本身的线程不安全所致,swing界面刷新线程必须在由EDT分配,可以在SwingUtilities.invokeLater(()->{refreshCode});
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("org.pushingpixels.substance.api.skin.SubstanceOfficeBlue2007LookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
//new窗体代码
}
});
3)常用皮肤:
org.pushingpixels.substance.api.skin.SubstanceAutumnLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceBusinessBlackSteelLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceBusinessBlueSteelLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceBusinessLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceChallengerDeepLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceCremeCoffeeLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceCremeLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceDustCoffeeLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceDustLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceEmeraldDuskLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceGeminiLookAndFeel.class
org.pushingpixels.substance.api.skin.SubstanceGraphiteAquaLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceGraphiteGlassLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceGraphiteLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceMagellanLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceMistAquaLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceMistSilverLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceModerateLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceNebulaBrickWallLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceNebulaLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceOfficeBlue2007LookAndFeel
org.pushingpixels.substance.api.skin.SubstanceOfficeSilver2007LookAndFeel
org.pushingpixels.substance.api.skin.SubstanceRavenLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceSaharaLookAndFeel
org.pushingpixels.substance.api.skin.SubstanceTwilightLookAndFeel
Java Swing窗体JFrame之窗体美化-窗体及组件外观设置相关推荐
- 必学技术java Swing之随心所欲添加自定义位置和大小的组件(建议收藏)
必学技术java Swing之随心所欲添加自定义位置和大小的组件 首先展示一下一般的添加组件方法,以按钮为例(这里采用流式布局) package pure_Swing;import javax.swi ...
- JAVA SWING之JFrame和JPanel布局
初学JAVA的时候学习过SWING,每次写程序就直接复制Jframe和Jpanel设置,到现在也不清楚它们有什么关系,才回顾学习.Swing虽然是很老的技术了,但也有很多工具是Swing写的例如Jet ...
- java swing计算机_利用JAVA SWING 编程,要在当前窗体中显示如下信息提示框,则需要编写的代码...
[单选题]在计算机网络中,通常把提供并管理共享资源的计算机称为 ( ) [单选题]计算机内部存储汉字,使用 ( ) . [单选题]一个ASCII码字符用几个 Byte 表示 () [单选题]运行Wor ...
- java swing 关闭_Java Swing 只关闭当前窗体的实现
看到很多人都在询问怎么在java swing中只关闭当前的窗体,因此写下此文. 主界面主要是有两个jbutton,一个是通过按钮事件调起另一个jfame,另一个是关闭当前窗体. 1.关闭当前窗体不能使 ...
- Java Swing快速构建窗体应用程序
以前接触java感觉其在桌面开发上,总是不太方便,没有一个好的拖拽界面布局工具,可以快速构建窗体. 最近学习了一下NetBeans IDE 8.1,感觉其窗体设计工具还是很不错的 , 就尝试一下做了一 ...
- Java Swing教程
创建一个JFrame 下面用简单的实例演示了Java Swing创建一个能输入内容的窗口 public class frameTest(){ public static void Main(Str ...
- Java Swing教程(基础)
创建一个JFrame 下面用简单的实例演示了Java Swing创建一个能输入内容的窗口 public class frameTest(){ public static void Main(Str ...
- java swing 组件技术(上)
2019独角兽企业重金招聘Python工程师标准>>> 第一次写自己的博客,明知道写得很水,还是努力去写了,希望踏出第一步之后,能有着更好的发展.这几天看了一些资料,总结了一下自己所 ...
- Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane),TextArea右键菜单 组件使用案例
文章目录 1.. Java弹出菜单,为JTextArea添加了右键弹出式菜单 2.:下拉式菜单的创建步骤: 3:弹出式菜单的创建步骤: 4:选项卡窗体: 菜单是GUI中最常用的组件,菜单不是Compo ...
- java swing开发窗体程序开发(四)MVC结构
MVC是一种设计结构(非设计模式,非设计原则) M:Model 模型层:即用于存储数据的对象 V:View 视图层:即用于为模型提供数据显示的对象 C:Controller 控制器层:即处理用户的业务 ...
最新文章
- mysql 40101
- “互联网+”下的制造业供应链新挑战
- python基础教程笔记—即时标记(详解)
- Oracle数据库管理与开发pdf
- python和python stub文件类型的区别_python – 如何告诉mypy包含stubfile
- RMAN-06023: no backup or copy of datafile 6 found to restore
- ubuntu安装 rust nightly_一起学Rust编程「1」:开发环境
- 俄罗斯Mail.Ru云端部署视频的技术架构解析
- isset,empty,is_null小知识
- shell基础--字符串和变量的操作
- linux安装文泉驿字体,centos 安装文泉驿字体相关教程
- python 网格搜索_网格搜索查找AUC参数
- MFC Windows程序设计源代码免费下载
- 电子祝福贺卡小程序有哪些?
- SpringCloud Gateway堆外内存溢出排查
- Qt 官方例子 Callout Example
- 手机上流行的各类谜语大揭密
- 脉冲星 5 月脉动 | Pulsar 2.3.2 即将发布、2.4.0 预览、Pulsar 与 Camel 集成
- 抖音二面:计算机网络-应用层
- 微信公众平台账号名字修改方法
热门文章
- 基于python对doi号通过sci-hub进行pubmed中的文献下载
- 研发项目wbs分解简单案例_工程项目管理之WBS分解实例(五篇模版)
- java sybase数据库连接_在JAVA中连接Sybase数据库(例子)
- 基于matlab的语音识别系统,基于Matlab的语音识别系统研究
- 金字塔原理读书笔记 一 为什么使用金字塔结构
- 离散数学 第十三章 欧拉图与哈密顿图
- 77---Python 计算Sin(x)的积分
- SWMM源码编译LNK2001 无法解析的外部符号 _swmm_close@0
- linux之I2C驱动分析
- Java 性能调优总结