网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  用java的jwindow运行出的splash画面     
  文章作者:未知  文章来源:水木森林  
  查看:69次  录入:管理员--2007-11-17  
 

import javax.swing.*;
import java.awt.*;
/*
jwindow 是一个能够在用户桌面的任何地方显示的容器。
所以能够使用它构成程序刚运行时的splash画面。
*/
public class esplash extends jwindow implements runnable {
  
    private thread thread = null;
    private image logo = null;
    private color bg_color = new color(255, 255, 255);
    private toolkit toolkit =gettoolkit();
    private int image_width;
    private int image_height;

    public esplash() {
      logo = new ecreateicon().getsplashimage();
      loadimage(logo, 0);
      image_width = logo.getwidth(this);
      image_height = logo.getheight(this);
      setbackground(bg_color);
      setcursor(new cursor(3));
      setsize(image_width + 10, image_height + 10);
      //设置jwindow的显示位置
      int xpos = (toolkit.getscreensize().width - getsize().width) / 2;
      int ypos = (toolkit.getscreensize().height - getsize().height) / 2;
      setbounds(xpos, ypos, getsize().width, getsize().height);
      setvisible(true);
    }
    /*
     通过使用mediatracker加载图像,确保图像被正确的加载。
     图像被加载后,将进行绘图。
    */
    private void loadimage(image image, int id) {
        if(image != null) {
            mediatracker tracker = new mediatracker(this);
            tracker.addimage(image, id);
            try {
                tracker.waitforid(id);
            }
            catch(interruptedexception _ex) { }
        }
    }

    /*
     在jwindow部件上绘制图像。
    */
   
    public void paint(graphics g) {
        g.drawimage(logo, 5, 5, image_width, image_height, this);
       
        //设置字体的色彩
        g.setcolor(new color(102, 102, 150));
        g.drawstring("正在初始化系统......", 7, getsize().height - 72);
        //设置矩形框的背景色彩。
        g.setcolor(new color(255, 255, 255));
       
        //绘制矩形框
        g.fillrect(5, getsize().height - 70, 317, 7);
        g.drawrect(5, getsize().height - 70, 317, 7);
       
        //重新设置将要填涂在矩形框中的颜色
        g.setcolor(new color(102, 102, 150));
        for(int n = 0; n < 317; n += 5)
            try {
             //线程休眠50毫秒
             thread.sleep(50l);
             //填涂矩形框
             g.fillrect(5, getsize().height - 70, n, 5);
            }
            catch(exception _ex) { }
        }

    public void run() {
        //设置鼠标为等待状态
        setcursor(new cursor(3));
        repaint();
    }

    public void stop() {
        //结束线程
        thread = null;
        logo = null;
    }

 //更新图形区,防止绘图时产生闪烁现象。

    public void update(graphics g) {
        paint(g);
    }
  }

/////////////////////////////////////////////////////

import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;

public class ecreateicon{
 
 private static image splashimage;
 
 public ecreateicon(){
 splashimage = getimagefromresource("resources/images/esplash.gif");
   }
 //获得图像
 private image getimagefromresource(string image_path) {
         return toolkit.getdefaulttoolkit().getimage(image_path);
   }

 public imageicon createimageicon(string filename) {
  string path = "/resources/images/" + filename;
  return new imageicon(getclass().getresource(path));
   }
  
   public image getsplashimage() {
       return splashimage;
   }
}

 
 
上一篇: jbuilder开发常用快捷键    下一篇: 快速上手eclipse eclipse快捷键指南
  相关文档
shark api 应用:判断流程进行到了哪个活动 11-17
基础应用:javaweb三层架构配置入门 11-17
java模式设计之单例模式(二) 11-16
j2ee综合--业务逻辑和数据库访问决策 03-03
最大限制地提高代码的可重用性 11-17
使用ajax+j2ee实现一个网上会议室系统 11-16
weblogic中将sessionfactory配置为jndi 11-17
org.eclipse.cdt-3.0.0-win32.x86 11-17
java servlet和jsp教程(1) 11-17
关于java中字符编码的一点心得,可能对初学者有点帮助 11-17
用java实现利用搜索引擎收集网址的程序 11-16
jboss将arjuna事务加入soa 11-17
论jsp数据库连接池的必要性 11-17
java se 6在solaris的可观察性特征分析 11-17
初始化引发的"stackoverflowerror" 异常 01-25
java 2源码解读:java.util.arraylist 11-17
为什么用 “==” 与 “equal”得到的输出不同 11-17
eclipse中自动重构实现探索 11-16
min_value 属性 11-16
java编写的计算器程序及源代码 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息