一、Swing外观框架BeautyEye使用

1.1 导包

BeautyEye.jar

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使用的更多相关文章

  1. 一款符合当前主流审美的Swing外观(Look and Feel)_测试版发布

    [前言] 本文将展示的是一款J2SE平台Swing外观(Look and Feel)实现,目前给出的演示jar包仅供测试之用,主体工作已经完成,余下是兼容性测试和调整,附件中的演示jar包推荐运行于j ...

  2. 结对编程1 —— 基于GUI和Swing的四则运算题目生成器

    合作伙伴 201421123102 王艳秋 201421123106 陈 雄 代码地址 题目描述 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI( ...

  3. 【QT学习】QT GUI应用程序的框架,文件分析

    有几个名字,项目名,类名,界面对象名. 1.项目文件 项目名.pro(MyHelloQt.pro) 主要包括项目用到的模块,项目包含哪些源码文件,头文件,窗体文件,生成应用程序的名称. 由QT自动生成 ...

  4. =====关于swing的一些收集-swing大收集======

    一篇经典的 介绍netbeans中swing 应用程序框架的文章 http://blog.csdn.net/tangwing/article/details/5745075 Swing外观框架 Bea ...

  5. Web端即时通讯技术原理详解

    前言 有关IM(InstantMessaging)聊天应用(如:微信,QQ).消息推送技术(如:现今移动端APP标配的消息推送模块)等即时通讯应用场景下,大多数都是桌面应用程序或者native应用较为 ...

  6. 【转】手把手教你读取Android版微信和手Q的聊天记录(仅作技术研究学习)

    1.引言 特别说明:本文内容仅用于即时通讯技术研究和学习之用,请勿用于非法用途.如本文内容有不妥之处,请联系JackJiang进行处理!   我司有关部门为了获取黑产群的动态,有同事潜伏在大量的黑产群 ...

  7. 【转】如约而至:微信自用的移动端IM网络层跨平台组件库Mars已正式开源

    网上看到关于微信官方的跨平台跨业务的终端基础组件Mars的介绍文章,转载这这里.源代码: https://github.com/Tencent/mars作者:男人链接:https://zhuanlan ...

  8. 使用Swing的GUI编程

    Swing AWT概述 AWT:抽象窗口工具包,提供了一套与本地图形界面进行交互的接口,是Java提供的用来建立和设置Java的图形用户界面的基本工具 Swing以AWT为基础的,尽管Swing消除了 ...

  9. Swing学习篇 API之JButton组件

    按钮(Jbutton) Swing中的按钮是Jbutton,它是javax.swing.AbstracButton类的子类,swing中的按钮可以显示图像,并且可以将按钮设置为窗口的默认图标,而且还可 ...

随机推荐

  1. mongodb 3.4 学习 (二)命令

    # 使用或切换数据库 use <database name> # 显示所有数据库 show dbs # 显示所有collection show collections # 显示所有user ...

  2. spring与mybatis的整合

    整合的思路 SqlSessionFactory对象放到spring容器中作为单例存在. 传统dao的开发方式中,从spring容器中获得sqlsession对象. Mapper代理形式中,从sprin ...

  3. 关于Visio的vba操作,遍历目录,对所有vsd文件操作,导入excel文件

    1.vba遍历要添加引用,runtime 2.不能打开单独的application,因为在获取到shape的picture属性时候,新打开的application不能够获取到.提示自动化错误. 3.定 ...

  4. mysql 省市数据

    CREATE TABLE `province` ( `id` ) DEFAULT NULL, `name` ) DEFAULT NULL ) ENGINE=INNODB DEFAULT CHARSET ...

  5. RAC共享磁盘挂载工具

    待更新: oracleasm: udev: 自己搭建个存储服务器:

  6. February 25 2017 Week 8 Saturday

    Energy and persistence can conquer all things. 能量和毅力可以征服一切. I have the persistence, but it seems I a ...

  7. ABAP的权限检查跟踪(Authorization trace)工具

    事务码 STAUTHTRACE 1. 点击"Activate Trace" button激活跟踪: 可以看到跟踪状态已经处于打开状态. 在同一个application server ...

  8. 每天一个linux命令:du 命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...

  9. Uva 11396 爪分解

    题目链接:https://vjudge.net/contest/166461#problem/A 题意: 给定一个图,特点是每个点的度都是3,求是不是原图可以分解为全部鸡爪:每条边只属于一个鸡爪: 分 ...

  10. luogu P2124 奶牛美容

    嘟嘟嘟 首先数据范围那么小,那么算法也是相当暴力的. 对于一个点(x, y)所属的联通块,预处理出从这个点出发到这个块外的所有点的曼哈顿距离.复杂度O(n4). 然后求答案:最少答案不一定是三个联通块 ...