仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 549|回复: 9
打印 上一主题 下一主题

[学习教程] 了解下JAVA的Swing当地表面与Substance表面之间的切换成绩及办理计划

[复制链接]
老尸 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:03:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
Swing使用程序假如是在开源的Look&&Feel之间切换,感到很简单,可是假如把使用程序在开源表面下切换到体系默许的大概JDK自带的表面时,成绩就来了。不是没有题目栏,就是题目栏的表面没有改动,用的是体系的窗口粉饰。这些是由于在使用程序启动时在main办法里增加了如许一句代码酿成的:
  1. JFrame.setDefaultLookAndFeelDecorated(true);
复制代码
今朝办理这个成绩的举措就是先将本来的JFramedispose失落,然后在new一个JFrame,让本来的frame指向这个新的JFrame。未几说,看代码对照直不雅,中心代码以下:
初始化使用,initComponents()办法是NetBeansIDE天生的,就不贴了。
  1.    privatestaticJFrameconfig;
  2.    privateRectanglesavedBounds;
  3.    /**CreatesnewformConfig*/
  4.    publicSkinChangeDemo(){
  5.        initComponents();
  6.    }
  7.    publicSkinChangeDemo(booleandecor){
  8.        setUndecorated(decor);
  9.        initComponents();
  10.    }
复制代码
上面就是中心代码:
  1.  privatevoidsaharaButtonActionPerformed(java.awt.event.ActionEventevt){                                            
  2.        //TODOaddyourhandlingcodehere:
  3.        LookAndFeelold=UIManager.getLookAndFeel();
  4.        SubstanceSkinskin=newSaharaSkin();
  5.        if(oldinstanceofSubstanceLookAndFeel){
  6.            SubstanceLookAndFeel.setSkin(skin);
  7.        }else{  //假如不是Substance的表面则切换为Substance表面
  8.                changSkin(skin);
  9.        }
  10.    }                                           
  11.    privatevoidnimbusButtonActionPerformed(java.awt.event.ActionEventevt){                                            
  12.        try{
  13.            UIManager.setLookAndFeel(newNimbusLookAndFeel());
  14.            savedBounds=getBounds();
  15.            dispose();
  16.            config=null;
  17.            config=newSkinChangeDemo(false);
  18.            config.setBounds(savedBounds);
  19.            config.setVisible(true);
  20.        }catch(UnsupportedLookAndFeelExceptionex){
  21.            Logger.getLogger(SkinChangeDemo.class.getName()).log(Level.SEVERE,null,ex);
  22.        }
  23.        SwingUtilities.updateComponentTreeUI(this);
  24.    }                                           
  25.    privatevoidbusinessButtonActionPerformed(java.awt.event.ActionEventevt){                                              
  26.        LookAndFeelold=UIManager.getLookAndFeel();
  27.        SubstanceSkinskin=newBusinessSkin();
  28.        if(oldinstanceofSubstanceLookAndFeel){
  29.            SubstanceLookAndFeel.setSkin(skin);
  30.        }else{   //假如不是Substance的表面则切换为Substance表面
  31.            changSkin(skin);
  32.        }
  33.    }                                             
  34.    /**
  35.     *用于将非Substance表面的界面该为Substance表面。
  36.     *@paramskin
  37.     */
  38.    privatevoidchangSkin(SubstanceSkinskin){
  39.        savedBounds=getBounds();
  40.        dispose();
  41.        config=newSkinChangeDemo(true);
  42.        config.getRootPane().setWindowDecorationStyle(JRootPane.FRAME); //这句是关头代码,本人看API体味吧
  43.        config.setBounds(savedBounds); //坚持变更皮肤时地位稳定
  44.        SubstanceLookAndFeel.setSkin(skin);
  45.        config.setVisible(true);
  46.        config.getRootPane().updateUI();
  47.        SwingUtilities.updateComponentTreeUI(this);
  48.    }
复制代码
<p>
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。
再现理想 该用户已被删除
沙发
发表于 2015-1-19 11:11:24 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-20 06:04:04 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
若天明 该用户已被删除
地板
发表于 2015-1-25 22:14:40 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
小女巫 该用户已被删除
5#
发表于 2015-2-4 06:05:18 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
透明 该用户已被删除
6#
发表于 2015-2-9 16:58:39 | 只看该作者
是一种突破用户端机器环境和CPU
若相依 该用户已被删除
7#
发表于 2015-2-27 12:04:45 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-9 02:30:28 | 只看该作者
是一种使用者不需花费很多时间学习的语言
飘灵儿 该用户已被删除
9#
发表于 2015-3-16 20:10:40 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
老尸 该用户已被删除
10#
 楼主| 发表于 2015-3-23 00:04:40 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 20:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表