wangchao.org
添加收藏 | 博客
 
购物视频论坛IT业界自然风光美女图片王朝网络小游戏BT下载生活百科编程设计手机图铃小说
 
笑话 | 水库 | 娱乐 | 体育 | 英语 | 宠物 | 美食 | 旅游 | 养生 | 手机 | 数码 | 汽车 | 珠宝 | 美容 | 装修 | 厨房 | 科普 | 动物 | 植物 | 影音 | 百科 | 知道 | 词典
  
 
 您好! 您现在位于: 王朝网络 → 编程设计 → 《用java的jwindow实现程序运行出的splash画面返回上一页 
 
1楼 

用java的jwindow实现程序运行出的splash画面

  网上购物、在线购物、购物搜索 欢迎光临本站购买图书、影视、音乐、数码、百货,手机等商品。

  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;
   }
  }

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; } }

 
标签: java  jwindow  splash  出的  实现  画面  程序运行  
 
您可以将本页贴到其他网站
UBB代码HTML代码
 
 
 
 
 
 
 更多内容
 ·用java取得linux系统cpu、内存的 ·用Java Applet保护网页的缺陷 ·Eclipse 3.2 Java开发工具的新特 ·用Java操作Microsoft Excel完美解
 ·Java世界的Ruby ·理解Java赋值和参数传递机制 ·Java SE 6之脚本引擎 让程序如虎 ·Eclipse RCP:用于构建平台的平台
 ·组织SWT/JFace控件的利器:Layou ·Java SE 6中JDBC 4.0的增强特性 ·Sun的新Java脚本语言 ·使用hibernate实现树形结构无限级
 ·以小博大 Java性能优化技巧集锦 ·阴阳历算法(转) ·野马的性格 Java SE 6.0新特性体 ·了解Java密码扩展的基础
 ·SWT:实现自我绘制的Button组件 ·在Oracle JDBC访问中加入Spring特 ·Java语言深入 文件和流 ·java.util下的Timer,TimerTask和
 ·始终会用上的Common BeanUtils ·开源技术基础:TOMCAT的用法 ·让第一个jdo的应用跑起来 ·类型转化与final修饰符
 
 
最新评论  点此查看所有评论
 
 
 
 
发表评论(支持UBB码)


验证码:  
 
 
 
© 2005- 王朝网络 版权所有