欢迎来到天天文库
浏览记录
ID:32994118
大小:80.50 KB
页数:4页
时间:2019-02-18
《练习42快闪屏窗口》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、练习42快闪屏窗口本例知识点一句话讲解新学知识使用ImagePane类制作装载图像的面板使用Window类制作窗口已学知识使用Dimension类得到窗口大小使用Thread类管理线程一、练习具体要求本例制作快闪屏窗口,运行效果如图42-1所示。执行本例实例后,将出现一个快闪屏窗口,十秒钟之后,该快闪屏窗口消失。本实例的知识点有:线程的睡眠,Window类和Panel类的应用。二、程序及注释(1)编程思路:本例因为要实现快闪屏效果,所以首先要通过Toolkit.getDefaultToolkit().getImage()方法编写获取快闪屏所需的图像程序,该函数的参数是闪屏时用到的图片的
2、名称,该函数的返回值是Image的对象。然后,因为要创建快闪屏窗口并把图像加入其中,所以先声明一个窗口(Window)对象命名为splashWindow,再调用splashWindow.add()方法将图像加入到快闪屏窗口之中。最后,因为要实现应用程序的装载,所以首先要通过splashWindow.show()方法显示快闪屏窗口,然后通过splashWindow.toFront()方法使快闪屏窗口置之最前端,再通过Thread.currentThread().sleep(5000)使当前线程睡眠10秒,用来模拟应用程序的装载。(2)程序实现及注释://Splash.java//用Win
3、dow组件来制作快闪屏窗口importjava.awt.*;publicclassSplashextendsFrame{//frame的构造方法publicSplash(){//获取快闪屏所需的图像ImageimgSplash=Toolkit.getDefaultToolkit().getImage("splash.gif");//构造装载Image图像的PanelImagePanepnlImage=newImagePane(imgSplash);//创建快闪屏窗口并把图像Panel加入其中WindowsplashWindow=newWindow(this);splashWindow.
4、add(pnlImage,BorderLayout.CENTER);//获取整个屏幕的尺寸大小DimensionscmSize=Toolkit.getDefaultToolkit().getScreenSize();//图像的宽和高intnImageWidth=imgSplash.getWidth(this);intnImageHeight=imgSplash.getHeight(this);//设置快闪屏窗口的大小和居中位置splashWindow.setSize(nImageWidth,nImageHeight);splashWindow.setLocation(scmSize.w
5、idth/2-nImageWidth/2,scmSize.height/2-nImageHeight/2);//显示快闪屏窗口并置之最前端splashWindow.show();splashWindow.toFront();try{//使当前线程睡眠10秒来模拟应用程序的装载Thread.currentThread().sleep(10000);}catch(Exceptione){e.printStackTrace();}//关闭快闪屏窗体并释放该窗体的资源splashWindow.dispose();}//程序的入口方法publicstaticvoidmain(String[]ar
6、gs){//创建框架窗体SplashfrmSplash=newSplash();//正常退出Java虚拟机System.exit(0);}}//封装装载图像的PanelclassImagePaneextendsPanel{privateImageimgSplash;publicImagePane(Imageimage){MediaTrackermt=newMediaTracker(this);mt.addImage(image,0);try{mt.waitForID(0);}catch(Exceptione){e.printStackTrace();}this.imgSplash=im
7、age;}//绘制图像publicvoidpaint(Graphicsg){g.drawImage(imgSplash,0,0,this);}//设置图像Panel的大小publicDimensiongetPreferredSize(){returnnewDimension(imgSplash.getWidth(this),imgSplash.getHeight(this));}}三、练习效果(如图42-1所示)本实例代码编写完毕,存盘为:C:
此文档下载收益归作者所有