【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中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可 ...
随机推荐
- mongodb 3.4 学习 (二)命令
# 使用或切换数据库 use <database name> # 显示所有数据库 show dbs # 显示所有collection show collections # 显示所有user ...
- spring与mybatis的整合
整合的思路 SqlSessionFactory对象放到spring容器中作为单例存在. 传统dao的开发方式中,从spring容器中获得sqlsession对象. Mapper代理形式中,从sprin ...
- 关于Visio的vba操作,遍历目录,对所有vsd文件操作,导入excel文件
1.vba遍历要添加引用,runtime 2.不能打开单独的application,因为在获取到shape的picture属性时候,新打开的application不能够获取到.提示自动化错误. 3.定 ...
- mysql 省市数据
CREATE TABLE `province` ( `id` ) DEFAULT NULL, `name` ) DEFAULT NULL ) ENGINE=INNODB DEFAULT CHARSET ...
- RAC共享磁盘挂载工具
待更新: oracleasm: udev: 自己搭建个存储服务器:
- February 25 2017 Week 8 Saturday
Energy and persistence can conquer all things. 能量和毅力可以征服一切. I have the persistence, but it seems I a ...
- ABAP的权限检查跟踪(Authorization trace)工具
事务码 STAUTHTRACE 1. 点击"Activate Trace" button激活跟踪: 可以看到跟踪状态已经处于打开状态. 在同一个application server ...
- 每天一个linux命令:du 命令
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...
- Uva 11396 爪分解
题目链接:https://vjudge.net/contest/166461#problem/A 题意: 给定一个图,特点是每个点的度都是3,求是不是原图可以分解为全部鸡爪:每条边只属于一个鸡爪: 分 ...
- luogu P2124 奶牛美容
嘟嘟嘟 首先数据范围那么小,那么算法也是相当暴力的. 对于一个点(x, y)所属的联通块,预处理出从这个点出发到这个块外的所有点的曼哈顿距离.复杂度O(n4). 然后求答案:最少答案不一定是三个联通块 ...