发布一篇Swing天生一个半通明的窗口
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......要天生一个半通明的成形窗口,而又要制止利用当地的编码,惟有天真地使用screenshot(屏幕快照).
半通明窗口是公共对Swing最为渴求的特征之一.也能够称之为定形窗口,这类窗口有一部分是通明的,能够透过它看到桌面背景和别的的程序.假如欠亨过JNI(JavaNativeInterface当地接口)Java是没法为我们天生一个半通明的窗口的(即便我们能够那样做,还得当地操纵平台好撑持半通明窗谈锋行).但是这些近况没法制止我们对半通明窗口的渴求,经由过程一个我最喜好的手腕screenshot,我们能够棍骗性地完成这个目标.
仿制如许一个的半通明窗口的历程,次要的经由过程以下几点:
1.在窗口显现之前,先取得一个screenshot;
2.把上一步猎取的屏幕快照,作为窗口的背景图
3.调剂地位,以便于我们捕捉的screenshot和实践以后的屏幕完善分离,打造出一种半通明的假象.
方才说到的部分只是小儿科,重头戏在于,怎样在挪动或变更半通明窗口时,实时地更新screenshot,也就是实时更新半通明窗口的背景.
在入手下手我们的游览之前,师长教师成一个类,让它承继JPanel,我们用这个承继类来捕捉屏幕,并把捕捉的照片作为背景.类的详细代码以下例6-1
例6-1。半通明背景组件
publicclassTransparentBackgroundextendsJcomponent{
privateJFrameframe;
privateImagebackground;
publicTransparentBackground(JFrameframe){
this.frame=frame;
updateBackground();
}
/**
*@todo猎取屏幕快照后当即更新窗口背景
*/
publicvoidupdateBackground(){
try{
Robotrbt=newRobot();
Toolkittk=Toolkit.getDefaultToolkit();
Dimensiondim=tk.getScreenSize();
background=rbt.createScreenCapture(
newRectangle(0,0,(int)dim.getWidth(),
(int)dim.getHeight()));
}catch(Exceptionex){
//p(ex.toString());
//此办法没有声名过,由于没法得知高低文。由于不影响实行效果,先正文失落它
ex.printStackTrace();
}
}
publicvoidpaintComponent(Graphicsg){
Pointpos=this.getLocationOnScreen();
Pointoffset=newPoint(-pos.x,-pos.y);
g.drawImage(background,offset.x,offset.y,null);
}
}
<p>
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。 是一种使用者不需花费很多时间学习的语言 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
页:
[1]