【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中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可 ...
随机推荐
- CentOS 7 使用 yum 安装 jdk 1.8
安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. ...
- 设计模式之适配器模式(Adapter)
1. 概述 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不 ...
- ThinkPHP5专题
TinkPHP5中 1. model中select()后的查询结果是对象而不是数组 2. model中 假如有 $result=$this->field($fields)->where($ ...
- selenium+python 连接数据库
import MySQLdb connet=MySQLdb.connect( host='localhost', port='8808', user='amdin', password='** ...
- Windows 系统 Unicode 文件名操作(新建、重命名、枚举、复制)全攻略
常见的那些文件操作函数都不支持,于是为了达到目的,需要各种方法配合,应该是不如其他语言方便.我只是想看看Perl到底是否适合做这件事,于是折腾了一回. 文件的建立: 模块:Win32 Code: [全 ...
- Cloud Foundry Session Affinity(Sticky Session)的实现
会话保持(Session Affinity),有时又称粘滞会话(Sticky Sessions), 是负载均衡领域设计需要着力解决的重要问题之一,也是一个相对比较复杂的问题. 会话保持是指在负载均衡器 ...
- python接口测试-项目实践(一) 测试需求与测试思路
测试需求: 第三方系统提供了3个接口,需要测试前端显示的字符串里的对应数据与接口数据是否一致. 测试分层: 开发人员的设计:每周从接口取一次数据,拼接完成后保存到数据库.再从数据库取数提供接口给前端开 ...
- bzoj 2179 FFT
求两个高精度的乘法. 根据高位低位,填入多项式的系数,求两个卷积,然后进位操作.
- redux创建store,处理更新数据
如果我们想使用redux,第一步需要通过 yarn add redux 来安装redux 安装成功后就需要去创建一个store,怎么创建呢,非常的简单,在src下面创建一个文件夹,这个文件夹名字就叫做 ...
- 0.Python 爬虫之Scrapy入门实践指南(Scrapy基础知识)
目录 0.0.Scrapy基础 0.1.Scrapy 框架图 0.2.Scrapy主要包括了以下组件: 0.3.Scrapy简单示例如下: 0.4.Scrapy运行流程如下: 0.5.还有什么? 0. ...