经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Java » 查看文章
【GUI】一、Swing外观框架BeautyEye使用
来源:cnblogs  作者:容一博  时间:2018/11/5 11:13:37  对本文有异议

一、Swing外观框架BeautyEye使用

1.1 导包

BeautyEye.jar

1.2 使用BeautyEye L&F

  1. public static void main(String[] args) {
  2. EventQueue.invokeLater(new Runnable() {
  3. public void run() {
  4. // 国人牛逼主题,值得学习
  5. // 初始化字体
  6. InitGlobalFont(new Font("微软雅黑", Font.PLAIN, 13));
  7. // 设置主题为BeautyEye
  8. try {
  9. org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
  10. } catch (Exception e) {
  11. e.printStackTrace();
  12. }
  13. new SwingDemo();
  14. }
  15. });
  16. }

1.2.1 如何定义窗口边框类型

  1. public static void main(String[] args){
  2. EventQueue.invokeLater(new Runnable() {
  3. public void run() {
  4. try{
  5. // 设置本属性将改变窗口边框样式定义
  6. BeautyEyeLNFHelper.frameBorderStyle = BeaytyEyeLNFHelper.FrameBorderStyle.generalNoTranslucencyShadow;
  7. org.jb2011.lnf.beautyeye.BeautyEyeLNFHelper.launchBeautyEyeLNF();
  8. } catch(Exception e){
  9. // TODO exception
  10. }
  11. }
  12. })
  13. }

有几种窗口边框类型

序号 窗口边框类型 代码 BeautyEye中默认使用
1 系统默认边框 osLookAndFeelDecorated
2 强立体感半透明边框 translucencyAppleLike java1.6及更高版本
3 弱立体感半透明边框 translucencySmallShadow
4 普通不透明边框 generalNoTranslucencyShadow java1.5版本时

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

  1. 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 如何隐藏“设置”按钮

说明: 该按钮目前仅作为演示窗口标题按钮的自定义能力之用,未来将开放自定义功能,目前可以选择隐藏之。

  1. UIManager.put("RootPane.setupButtonVisible",false);

1.2.4 如何开启/关闭窗口在不活动时的半透明效果

说明: 设置此开关量为false即表示关闭之,BeautyEye LNF中默认是true。

  1. BeautyEyeLNFHelper.translucencyAtFrameInactive = true;

1.2.5 怎样让JToolBar的UI不使用渐变图片而使用传统的纯色来填充背景

方法一:设置属性即可:true表示使用ToolBar.background颜色实现纯色填充背景,BeautyEye中此属性默认是false

  1. UIManager.put("ToolBar.isPaintPlainBackground", Boolean.TRUE);

方法二:使用ClientProperty单独设置控制每个toolbar:true表示使用ToolBar.background颜色实现纯色填充弄背景,BeautyEye中此属性是false

  1. JToolBar jToolBar;
  2. jToolBar.putClientProperty("ToolBar.isPaintPlainBackground",Boolean.TRUE);

说明: 方法二可以单独控制每一个JToolBar组件,而方法一是全局属性,方法二的优先级高于方法一。

1.2.6 如何自定义JToolBar UI的border

@since v3.4

加入以下代码,使用你自己的border:

  1. // 自定义JToolBar UI的border
  2. Border bd = new ToolBarBorder(
  3. UIManager.getColor("ToolBar.shadow"),//Floatable 时触点的颜色
  4. UIManager.getColor("TooBar.highlight"),//Floatable时触点的阴影颜色
  5. new Insets(20,20,20,20)//上,左,下,右
  6. );
  7. UIManager.put("ToolBar.border", new BorderUIResource(bd));

说明: 以上代码必须在 ++“BeautyEyeLNFHelper.lauchBeautyEyeLNF();”++ 之后执行方能生效。

1.2.7 如何设置BEautyEye外观下JTabbedPane选项卡的左缩进

  1. //改变InsetsUIResource参数的值即可实现
  2. UIManager.put("TabbedPane.tabAreaInsets",new InsetsUIResource(3, 20, 2, 20));

说明: 以上代码必须在 ++“BeautyEyeLNFHelper.lauchBeautyEyeLNF();”++ 之后执行方能生效。

1.2.8 如何调置窗体背景全透明并完全隐藏一个窗体的标题栏

在你的窗体被SetVisible(true)前调用一下代码即可:

  1. //set frame full transparent
  2. frame.setUndercorated(true);
  3. AWTUtilities.setWindowOpaque(frame,false);
  4. frame.getRootPane().setWindowDecorationStyle(JRootPane.NONE);

说明: 以上代码适用于所有处于非系统窗体标题栏的情况。包括官方MetalLookAndFeel外观等。

1.3 UIManager类的简单使用

让swing窗体变得更加漂亮的代码,该代码的作用是让swing界面变得和当前系统一样,如果是windows8就变得和windows8一样漂亮。

如果是xp同样原理。
代码使用方法,添加到任意一个函数里面都可以,但是要调用该函数,建议放在构造函数里面

  1. try {
  2. UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  3. } catch (ClassNotFoundException e) {
  4. // TODO Auto-generated catch block
  5. e.printStackTrace();
  6. } catch (InstantiationException e) {
  7. // TODO Auto-generated catch block
  8. e.printStackTrace();
  9. } catch (IllegalAccessException e) {
  10. // TODO Auto-generated catch block
  11. e.printStackTrace();
  12. } catch (UnsupportedLookAndFeelException e) {
  13. // TODO Auto-generated catch block
  14. e.printStackTrace();
  15. }
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号