当前位置: 首页 > 工具软件 > BeautyEye > 使用案例 >

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

葛昕
2023-12-01

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

一、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强立体感半透明边框translucencyAppleLikejava1.6及更高版本
3弱立体感半透明边框translucencySmallShadow
4普通不透明边框generalNoTranslucencyShadowjava1.5版本时

1.2.2 如何使用不同颜色的按钮

public JButton button;
序号代码
1button.setUI(new BEButton().setNormalColor(NormalColor.normal));
2button.setUI(new BEButton().setNormalColor(NormalColor.green));
3button.setUI(new BEButton().setNormalColor(NormalColor.lightBlue));
4button.setUI(new BEButton().setNormalColor(NormalColor.blue));
4button.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();
}
posted @ 2018-11-04 22:09 容一博 阅读( ...) 评论( ...) 编辑 收藏
 类似资料: