可通过设置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之窗体美化-窗体及组件外观设置相关推荐

  1. 必学技术java Swing之随心所欲添加自定义位置和大小的组件(建议收藏)

    必学技术java Swing之随心所欲添加自定义位置和大小的组件 首先展示一下一般的添加组件方法,以按钮为例(这里采用流式布局) package pure_Swing;import javax.swi ...

  2. JAVA SWING之JFrame和JPanel布局

    初学JAVA的时候学习过SWING,每次写程序就直接复制Jframe和Jpanel设置,到现在也不清楚它们有什么关系,才回顾学习.Swing虽然是很老的技术了,但也有很多工具是Swing写的例如Jet ...

  3. java swing计算机_利用JAVA SWING 编程,要在当前窗体中显示如下信息提示框,则需要编写的代码...

    [单选题]在计算机网络中,通常把提供并管理共享资源的计算机称为 ( ) [单选题]计算机内部存储汉字,使用 ( ) . [单选题]一个ASCII码字符用几个 Byte 表示 () [单选题]运行Wor ...

  4. java swing 关闭_Java Swing 只关闭当前窗体的实现

    看到很多人都在询问怎么在java swing中只关闭当前的窗体,因此写下此文. 主界面主要是有两个jbutton,一个是通过按钮事件调起另一个jfame,另一个是关闭当前窗体. 1.关闭当前窗体不能使 ...

  5. Java Swing快速构建窗体应用程序

    以前接触java感觉其在桌面开发上,总是不太方便,没有一个好的拖拽界面布局工具,可以快速构建窗体. 最近学习了一下NetBeans IDE 8.1,感觉其窗体设计工具还是很不错的 , 就尝试一下做了一 ...

  6. Java Swing教程

    创建一个JFrame 下面用简单的实例演示了Java Swing创建一个能输入内容的窗口 public class frameTest(){   public static void Main(Str ...

  7. Java Swing教程(基础)

    创建一个JFrame 下面用简单的实例演示了Java Swing创建一个能输入内容的窗口 public class frameTest(){   public static void Main(Str ...

  8. java swing 组件技术(上)

    2019独角兽企业重金招聘Python工程师标准>>> 第一次写自己的博客,明知道写得很水,还是努力去写了,希望踏出第一步之后,能有着更好的发展.这几天看了一些资料,总结了一下自己所 ...

  9. Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane),TextArea右键菜单 组件使用案例

    文章目录 1.. Java弹出菜单,为JTextArea添加了右键弹出式菜单 2.:下拉式菜单的创建步骤: 3:弹出式菜单的创建步骤: 4:选项卡窗体: 菜单是GUI中最常用的组件,菜单不是Compo ...

  10. java swing开发窗体程序开发(四)MVC结构

    MVC是一种设计结构(非设计模式,非设计原则) M:Model 模型层:即用于存储数据的对象 V:View 视图层:即用于为模型提供数据显示的对象 C:Controller 控制器层:即处理用户的业务 ...

最新文章

  1. mysql 40101
  2. “互联网+”下的制造业供应链新挑战
  3. python基础教程笔记—即时标记(详解)
  4. Oracle数据库管理与开发pdf
  5. python和python stub文件类型的区别_python – 如何告诉mypy包含stubfile
  6. RMAN-06023: no backup or copy of datafile 6 found to restore
  7. ubuntu安装 rust nightly_一起学Rust编程「1」:开发环境
  8. 俄罗斯Mail.Ru云端部署视频的技术架构解析
  9. isset,empty,is_null小知识
  10. shell基础--字符串和变量的操作
  11. linux安装文泉驿字体,centos 安装文泉驿字体相关教程
  12. python 网格搜索_网格搜索查找AUC参数
  13. MFC Windows程序设计源代码免费下载
  14. 电子祝福贺卡小程序有哪些?
  15. SpringCloud Gateway堆外内存溢出排查
  16. Qt 官方例子 Callout Example
  17. 手机上流行的各类谜语大揭密
  18. 脉冲星 5 月脉动 | Pulsar 2.3.2 即将发布、2.4.0 预览、Pulsar 与 Camel 集成
  19. 抖音二面:计算机网络-应用层
  20. 微信公众平台账号名字修改方法

热门文章

  1. 基于python对doi号通过sci-hub进行pubmed中的文献下载
  2. 研发项目wbs分解简单案例_工程项目管理之WBS分解实例(五篇模版)
  3. java sybase数据库连接_在JAVA中连接Sybase数据库(例子)
  4. 基于matlab的语音识别系统,基于Matlab的语音识别系统研究
  5. 金字塔原理读书笔记 一 为什么使用金字塔结构
  6. 离散数学 第十三章 欧拉图与哈密顿图
  7. 77---Python 计算Sin(x)的积分
  8. SWMM源码编译LNK2001 无法解析的外部符号 _swmm_close@0
  9. linux之I2C驱动分析
  10. Java 性能调优总结