使用LookAndFeel为界面更换皮肤
----------------siwuxie095
在 Windows 系统中,默认的 Java 运行环境(JRE)会为当前的窗体程序
指定一个
LookAndFeel(默认使用 <system>,仅应用于 预览)
「这里的 <system> 即 Windows」
共有 5 种 LookAndFeel:
Metal、Nimbus、CDE/Motif、Windows、Windows Classic
「Nimbus 在 Java 6 Update 10 及以后才有,当前为 JDK 8u111」
创建一个 JFrame 窗体,如下:
如果点击
预览
按钮:
此时,使用的是
Windows 自带的样式(这里是 win 10 系统):
「在
预览
中,是原生的
Windows 窗体和控件」
但如果点击 运行 按钮,样式就发生了变化(Metal 样式):
显然,WindowBuilder 仅仅为 预览 应用了默认的 LookAndFeel
「除了苹果系统,其他的系统中,只要
Java 运行环境中有窗体打开(运行),
默认使用的都是 Metal 这个 LookAndFeel」
需要通过代码来设定窗体的样式,如:Nimbus
运行程序:
5 种 LookAndFeel 的设定方法:
也可以使用第三方的 LookAndFeel 的库:
https://github.com/search?utf8=%E2%9C%93&q=LookAndFeel&type=
按照一般的第三方库文件的使用方法来使用即可
LookAndFeel 也可以针对不同形式的窗体分别设定
如:在当前
JFrame 的 LookAndFeel 生效前创建另一个 JDialog
如果为当前的程序指定了
LookAndFeel,所有控件都是按照 LookAndFeel
指定的方法来绘制的,不管迁移到任何系统上,外观和样式都不会发生改变,
这也是
Java 跨平台特性的体现
【made by siwuxie095】
使用LookAndFeel为界面更换皮肤的更多相关文章
- WPF通过DynamicResource实现给界面动态更换皮肤
在我们的程序中有时候需要去实现动态更换皮肤的效果,从而完成一些个性化的设置,那么我们究竟怎样去实现动态换皮肤的效果呢?那么我们经常用到的就是设置不同的Style,并且在主程序的xaml文件中通过Dyn ...
- 为Visual Studio更换皮肤和背景图
最近在博客上别人在老早之前就有加了背景图,想想怎么能这么out,于是乎,百度一下,能否知道? 咳咳,资源还是有滴!可惜都是比较旧的跟新版本的配置方法可能有点不一样, 可能会有很多人会觉得不适应,不过没 ...
- WinForm 使用皮肤,且单击按更换皮肤。
运行效果: 首先把DLL程序集文件和SSK皮肤文件放在要运行程序的DEBug文件夹下,然后引入引用. 之后可以在程序里写代码了. private void Form2_Load(object send ...
- vue-基于elementui自定义主题更换皮肤及自定义内容的皮肤跟换
参考这篇博客https://blog.csdn.net/young_Emily/article/details/78591261做一遍,加上自己的一些理解 思路:通过自己上一篇博客https://ww ...
- 给Visual Studio更换皮肤和背景图
1.先安装更换皮肤的插件 VS菜单栏里面找到:工具>扩展和更新>联机>搜索: Theme Editor 下载并安装: 安装后先不着急重启VS 然后,安装可更改背景图片的插件:工具&g ...
- java 24 - 9 GUI 之 给窗体换图标、设置启动在屏幕中间、更换皮肤
A.首先更改窗体左上角的图片 步骤一: 创建3个包,分别建立1个类 第一个是窗体的包,窗体类:设置窗体的主要布置和功能 第二个是资源包,图片:把想要改的图案拉进来 第三个是UI界面包,UI界面设计类: ...
- XtraForm中更换皮肤
前提: 默认皮肤的显示http://www.cnblogs.com/chucklu/p/4785572.html 1.修改XtraForm的LookAndFeel的SkinName属性,设置为Cara ...
- Vistual Studio 2012更换皮肤
早就装上VS2012了,可是除了在家里练习玩玩的时候使用外,在公司都还在用2010,也没好好研究过2012.这两天把公司的电脑换了系统,也就把vs换成了2012.可是看着不是白白的皮肤就是深色的皮肤, ...
- winfroms更换皮肤
一.添加控件lrisSkin.dll 然后把继承的窗体更换成别人做好的窗体类 能达到换肤的效果 二. 全部源代码就一行: skinEngine1.SkinFile = "WaveCo ...
随机推荐
- iOS 尝试用 block 闭包 去代替delegate 实现方法
通常都是这样创建alert 再加一个代理 // 创建一个UIAlertView并显示出来 UIAlertView *alertview = [[UIAlertView alloc] initWithT ...
- 写出pythonic的python代码
http://www.cnblogs.com/dadadechengzi/p/6226071.html 1,列表推导(没当要对序列中的内容进行循环处理时,就应该尝试使用列表推倒) 在python中编写 ...
- Data Structure Linked List: Flattening a Linked List
http://www.geeksforgeeks.org/flattening-a-linked-list/ #include <iostream> #include <vector ...
- X-real-ip与X-Forwarded-For
经过反向代理后,客户端与web服务器之间添加了中间层,因此: 1.代理服务器使用$remote_addr拿到的会是客户端的ip 2. web服务器使用$remote_addr拿到的会是代理服务器的ip ...
- CustomizaitonSpec Clone_VM
克隆虚拟机可以加上CustomizationSpec来自动配置好:IP地址.DNS.Domain等信息 1.可以利用PyVmimo中的vim模块在python中完全自定义CustomizationSp ...
- HBase启动后端口60010无法访问
配置好HBase后,想从浏览器通过端口60010看下节点情况,但是提示无法访问 在服务器上netstat -natl|grep 60010 发现并没有60010端口 原来是因为HBase 1.0 之后 ...
- Struts2 内核之我见
Struts2 内核之我见 完整分析 Struts2 内核中文文档 本文首先探讨了 Struts2 核心控制器的源码,以帮助解读 Struts2 的工作流程.接着讲解相关外围类.最后对 Struts ...
- ios app被自己从应用商店下架后可以再恢復上架吗
好像没有企业能阻挡苹果的下架决定,毕竟这是它的地盘.不管是已经恢复上架的百度.腾讯.优酷.人人游戏,还是至今没有下文的360.金山和PPS,也不管这些企业在中国乃至全球互联网行业的地位如何,下架原因只 ...
- Linux课程---2、Linux下最常用命令(查看帮助命令)
Linux课程---2.Linux下最常用命令(查看帮助命令) 一.总结 一句话总结: man 1.显示文件? ls:ls带其它参数详情可以man ls man ls:比如 ls -a显示隐藏文件,l ...
- hdu 2955 Robberies(01背包)
Robberies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...