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