了解下JAVA的Merlin的魔力: 另外一个复杂的Frame
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。在浏览J2SE平台最新刊行版的加强功效时,您会当即注重到Sun终极仍是听取了我们的倡议。我并非要表示之前他们基本不听我们的倡议,但他们好象把注重力更多地放在增加年夜范围的API上,而不是修补那些已投进利用几年的API上。比方AWTFrame类。固然Sun在版本1.2中增加了经由过程编程将Frame图标化的功效,您仍旧没法埋没Titlebar或将Frame最年夜化。固然您可使用Window来避开Titlebar,但一些义务请求的是一个顶级的Frame而不是窗口。基础上不会呈现幸运的情形。
如今,利用1.4刊行版,您能够经由过程编程埋没特定于平台的窗口润色,如Titlebar,并将Frame最年夜化。这两种功效都是早在1997年就被初次提出的。无润色Frame撑持的发生是因为在1997年春季,Sun的毛病数据库纪录了相干毛病,毛病标识号为4038769,Frame缩放撑持在1997年8月被提出,毛病标识号为4071554。我将在本文中申明怎样利用这两种功效。
无润色的Frame
利用这两种功效的最复杂的地方是撑持无润色Frame。要埋没Frame上的Titlebar,必要将指定Frame的undecorated属性设为true。缺省情形下,该值为false,当Frame显现出来后,您就没法变动此设置(假如您实验变动的话,体系会抛出一个IllegalComponentStateException非常)。
清单1.创立一个无润色的Frame
Frameframe=newFrame();
frame.setUndecorated(true);
因为Titlebar和别的的窗口润色如今都已被埋没,您没法依托底层窗口办理体系供应对拖曳Frame的撑持。您必需本人用一对鼠标侦听器来增加该撑持。
清单2.增加拖曳撑持
//AvoidcreatingapointwitheachmousePressed()call
Pointorigin=newPoint();
frame.addMouseListener(newMouseAdapter(){
publicvoidmousePressed(MouseEvente){
origin.x=e.getX();
origin.y=e.getY();
}
});
frame.addMouseMotionListener(newMouseMotionAdapter(){
publicvoidmouseDragged(MouseEvente){
Pointp=frame.getLocation();
frame.setLocation(
p.x+e.getX()-origin.x,
p.y+e.getY()-origin.y);
}
});
<p>
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net网页编程并驾齐驱的 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 Java是一种计算机编程语言,拥有跨平台、面向对java
页:
[1]