【GUI】一、Swing外观框架BeautyEye使用
一、Swing外观框架BeautyEye使用
1.1 导包
1.2 使用BeautyEye L&F
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
// 国人牛逼主题,值得学习
// 初始化字体
InitGlobalFont(new Font("微软雅黑", Font.PLAIN, 13));
// 设置主题为BeautyEye
try {
org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
} catch (Exception e) {
e.printStackTrace();
}
new SwingDemo();
}
});
}
1.2.1 如何定义窗口边框类型
public static void main(String[] args){
EventQueue.invokeLater(new Runnable() {
public void run() {
try{
// 设置本属性将改变窗口边框样式定义
BeautyEyeLNFHelper.frameBorderStyle = BeaytyEyeLNFHelper.FrameBorderStyle.generalNoTranslucencyShadow;
org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
} catch(Exception e){
// TODO exception
}
}
})
}
有几种窗口边框类型
| 序号 | 窗口边框类型 | 代码 | BeautyEye中默认使用 |
|---|---|---|---|
| 1 | 系统默认边框 | osLookAndFeelDecorated | |
| 2 | 强立体感半透明边框 | translucencyAppleLike | java1.6及更高版本 |
| 3 | 弱立体感半透明边框 | translucencySmallShadow | |
| 4 | 普通不透明边框 | generalNoTranslucencyShadow | java1.5版本时 |
1.2.2 如何使用不同颜色的按钮
public JButton button;
| 序号 | 代码 |
|---|---|
| 1 | button.setUI(new BEButton().setNormalColor(NormalColor.normal)); |
| 2 | button.setUI(new BEButton().setNormalColor(NormalColor.green)); |
| 3 | button.setUI(new BEButton().setNormalColor(NormalColor.lightBlue)); |
| 4 | button.setUI(new BEButton().setNormalColor(NormalColor.blue)); |
| 4 | button.setUI(new BEButton().setNormalColor(NormalColor.red)); |
1.2.3 如何隐藏“设置”按钮
说明: 该按钮目前仅作为演示窗口标题按钮的自定义能力之用,未来将开放自定义功能,目前可以选择隐藏之。
UIManager.put("RootPane.setupButtonVisible",false);
1.2.4 如何开启/关闭窗口在不活动时的半透明效果
说明: 设置此开关量为false即表示关闭之,BeautyEye LNF中默认是true。
BeautyEyeLNFHelper.translucencyAtFrameInactive = true;
1.2.5 怎样让JToolBar的UI不使用渐变图片而使用传统的纯色来填充背景
方法一:设置属性即可:true表示使用ToolBar.background颜色实现纯色填充背景,BeautyEye中此属性默认是false
UIManager.put("ToolBar.isPaintPlainBackground", Boolean.TRUE);
方法二:使用ClientProperty单独设置控制每个toolbar:true表示使用ToolBar.background颜色实现纯色填充弄背景,BeautyEye中此属性是false
JToolBar jToolBar;
jToolBar.putClientProperty("ToolBar.isPaintPlainBackground",Boolean.TRUE);
说明: 方法二可以单独控制每一个JToolBar组件,而方法一是全局属性,方法二的优先级高于方法一。
1.2.6 如何自定义JToolBar UI的border
@since v3.4
加入以下代码,使用你自己的border:
// 自定义JToolBar UI的border
Border bd = new ToolBarBorder(
UIManager.getColor("ToolBar.shadow"),//Floatable 时触点的颜色
UIManager.getColor("TooBar.highlight"),//Floatable时触点的阴影颜色
new Insets(20,20,20,20)//上,左,下,右
);
UIManager.put("ToolBar.border", new BorderUIResource(bd));
说明: 以上代码必须在 ++“BeautyEyeLNFHelper.lauchBeautyEyeLNF();”++ 之后执行方能生效。
1.2.7 如何设置BEautyEye外观下JTabbedPane选项卡的左缩进
//改变InsetsUIResource参数的值即可实现
UIManager.put("TabbedPane.tabAreaInsets",new InsetsUIResource(3, 20, 2, 20));
说明: 以上代码必须在 ++“BeautyEyeLNFHelper.lauchBeautyEyeLNF();”++ 之后执行方能生效。
1.2.8 如何调置窗体背景全透明并完全隐藏一个窗体的标题栏
在你的窗体被SetVisible(true)前调用一下代码即可:
//set frame full transparent
frame.setUndercorated(true);
AWTUtilities.setWindowOpaque(frame,false);
frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
说明: 以上代码适用于所有处于非系统窗体标题栏的情况。包括官方MetalLookAndFeel外观等。
1.3 UIManager类的简单使用
让swing窗体变得更加漂亮的代码,该代码的作用是让swing界面变得和当前系统一样,如果是windows8就变得和windows8一样漂亮。
如果是xp同样原理。
代码使用方法,添加到任意一个函数里面都可以,但是要调用该函数,建议放在构造函数里面
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
【GUI】一、Swing外观框架BeautyEye使用的更多相关文章
- 一款符合当前主流审美的Swing外观(Look and Feel)_测试版发布
[前言] 本文将展示的是一款J2SE平台Swing外观(Look and Feel)实现,目前给出的演示jar包仅供测试之用,主体工作已经完成,余下是兼容性测试和调整,附件中的演示jar包推荐运行于j ...
- 结对编程1 —— 基于GUI和Swing的四则运算题目生成器
合作伙伴 201421123102 王艳秋 201421123106 陈 雄 代码地址 题目描述 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI( ...
- 【QT学习】QT GUI应用程序的框架,文件分析
有几个名字,项目名,类名,界面对象名. 1.项目文件 项目名.pro(MyHelloQt.pro) 主要包括项目用到的模块,项目包含哪些源码文件,头文件,窗体文件,生成应用程序的名称. 由QT自动生成 ...
- =====关于swing的一些收集-swing大收集======
一篇经典的 介绍netbeans中swing 应用程序框架的文章 http://blog.csdn.net/tangwing/article/details/5745075 Swing外观框架 Bea ...
- Web端即时通讯技术原理详解
前言 有关IM(InstantMessaging)聊天应用(如:微信,QQ).消息推送技术(如:现今移动端APP标配的消息推送模块)等即时通讯应用场景下,大多数都是桌面应用程序或者native应用较为 ...
- 【转】手把手教你读取Android版微信和手Q的聊天记录(仅作技术研究学习)
1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理! 我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群 ...
- 【转】如约而至:微信自用的移动端IM网络层跨平台组件库Mars已正式开源
网上看到关于微信官方的跨平台跨业务的终端基础组件Mars的介绍文章,转载这这里.源代码: https://github.com/Tencent/mars作者:男人链接:https://zhuanlan ...
- 使用Swing的GUI编程
Swing AWT概述 AWT:抽象窗口工具包,提供了一套与本地图形界面进行交互的接口,是Java提供的用来建立和设置Java的图形用户界面的基本工具 Swing以AWT为基础的,尽管Swing消除了 ...
- Swing学习篇 API之JButton组件
按钮(Jbutton) Swing中的按钮是Jbutton,它是javax.swing.AbstracButton类的子类,swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可 ...
随机推荐
- 基于alpine定制常用命令镜像
FROM alpine RUN apk update RUN apk add curl coreutils 像busybox.alpine镜像date命令都不是完整版的,不能执行加减的操作(date ...
- 推荐一个很好用的脚本session snapper
源网址http://tech.e2sn.com/oracle-scripts-and-tools/session-snapper 内容: If you want to just download Sn ...
- 我对git 、github的初印象
前言:都说,要在IT这行混得风生水起,就必须不断接触新事物.学习新东西.然而,这个重要的点也是难做的点.当老师要我们用博客交作业的时候,我就觉得挺新鲜了,在知道很多牛逼的程序猿还会用到git和gith ...
- HDU-3092 Least common multiple---数论+分组背包
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3092 题目大意: 有一个数字n,现在要把它分解成几个数字相加!然后这几个数字有最小公倍数,题目目的是 ...
- Android(java)学习笔记57:PC and Phone 通信程序
1. 首先我写的程序代码如下: package com.himi.udpsend; import java.net.DatagramPacket; import java.net.DatagramSo ...
- 【安卓】imageView.scaleType取centerCrop后,再用padding时显示异常?
imgView.setCropToPadding(true);就可以
- W5100与MCU的连接方式
W5100与MCU的连接方式 W5100与MCU的连接方式主要有直接总线连接.间接总线连接.SPI总线连接这三种连接方法,不同的连接方法适应于不同的场合,应该按需选择最恰当的连接方式. 1)直接总线连 ...
- 检查WIFI是否连接
查看网络连接 查看WiFi连接状态 (连接- -断开)
- HDU 1260 Tickets (普通dp)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1260 Tickets Time Limit: 2000/1000 MS (Java/Others) ...
- Rest API 开发 学习笔记
概述 REST 从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表示方式.获得这些表徵致使这些应用程序转变了其状态.随着不断获取资源的表示方式,客户端应用 ...