欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【GUI】一、Swing外观框架BeautyEye使用

程序员文章站 2023-02-09 23:11:29
使用BeautyEye L&F 漂亮外观 ......

一、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();
}