应用程序启动画面

    软件工程需要的应用程序启动画面的制作和示例.
    我把这个启动画面程序放在了一个计算器的小程序中,初始化: 
None.gif Toolkit toolkit  =  Toolkit.getDefaultToolkit(); 
None.gif            windowSplash 
=   new  Window(calc);  
None.gif            Image image 
=  toolkit.getImage( " collage2.jpg " ); 
None.gif            ImageCanvas canvas 
=   new  ImageCanvas( image ); 
None.gif            windowSplash.add( canvas, 
" Center "  ); 
None.gif            Dimension scmSize 
=  toolkit.getScreenSize(); 
None.gif            
int  imgWidth  =  image.getWidth( calc ); 
None.gif            
int  imgHeight  =  image.getHeight( calc ); 
None.gif            windowSplash.setLocation( (scmSize.width 
-  imgWidth) / 2 , (scmSize.height  -  (imgHeight)) / 2  ); 
None.gif            windowSplash.setSize(imgWidth, imgHeight); 

这边我把启动画面显示在右下角了,如果想显示在屏幕中间,把Location改成:
None.gif windowSplash.setLocation( (scmSize.width  -  imgWidth) / 2 , (scmSize.height  -  (imgHeight)) / 2  );

ImageCanvas继承于canvas。 Canvas 组件表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。 应用程序必须为 Canvas 类创建子类,以获得有用的功能(如创建自定义组件)。必须重写 paint 方法,以便在 canvas 上执行自定义图形。
ImageCanvas是Canvas的子类:
None.gif class  ImageCanvas  extends  Canvas 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif    
private Image image; 
InBlock.gif    
public ImageCanvas( Image image ) 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif
InBlock.gif        MediaTracker mt 
= new MediaTracker( this ); 
InBlock.gif        mt.addImage( image, 
0 ); 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
trydot.gif
InBlock.gif            mt.waitForID(
0); 
ExpandedSubBlockEnd.gif        }
 
InBlock.gif        
catch( Exception e) 
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{} 
InBlock.gif        
this.image = image; 
ExpandedSubBlockEnd.gif    }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public void paint( Graphics g ) dot.gif
InBlock.gif        g.drawImage( image, 
00this ); 
ExpandedSubBlockEnd.gif    }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public void update( Graphics g ) dot.gif
InBlock.gif        paint( g ); 
ExpandedSubBlockEnd.gif    }
 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
public Dimension getPreferedSized() dot.gif
InBlock.gif        
return new Dimension( image.getWidth(this), image.getHeight(this) ); 
ExpandedSubBlockEnd.gif    }
 
ExpandedBlockEnd.gif}
 

开始运行启动画面:
None.gif windowSplash.setVisible(  true  ); 
None.gif            windowSplash.toFront();

因为这里借助于一个计算器作为示例,计算器的初始化所需时间极短,启动画面会一闪而过,所以我在关闭启动画面前添加了一个线程的睡眠:
ExpandedBlockStart.gif ContractedBlock.gif try   dot.gif {
InBlock.gif                Thread.sleep(
4000);
ExpandedBlockStart.gifContractedBlock.gif            }
  catch  (InterruptedException e2)  dot.gif {
InBlock.gif                e2.printStackTrace();
ExpandedBlockEnd.gif            }

接下来关闭启动画面,这段代码插在所有初始化工作完成之后,这个示例中只是界面的初始化,实际应用程序还包括后台数据库等.
 
None.gif windowSplash.dispose();

基本的应用程序启动画面就实现了,附上这个示例的完整源代码: /Files/JeffChen/qidonghuamian.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值