zoukankan      html  css  js  c++  java
  • 【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 强立体感半透明边框 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();
    }
    
    作者:容一博

    个性签名:我有一个不成熟的想法!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    什么是大小端
    mina
    出现jar包找不到的问题解决方案
    InnoDB 静态数据加密的常见问题合集
    mysqldump 数据库备份程序,mysqldump 选项合集
    出现The MySQL server is running with the --secure-file-priv option so it cannot问题的原因
    小睡一会,做了一个梦
    IntelliJ IDEA is a solution that appears after importing a project with a clock icon(idea导入项目之后出现时钟的解决方案)
    IntelliJIDE不显示项目文件夹的问题
    夏天的记忆
  • 原文地址:https://www.cnblogs.com/chromer/p/swing025462423.html
Copyright © 2011-2022 走看看