WEB开发网
开发学院WEB开发Jsp 用java的jwindow运行出的splash画面 阅读

用java的jwindow运行出的splash画面

 2008-01-05 09:42:39 来源:WEB开发网   
核心提示:import javax.swing.*;import java.awt.*;/*JWindow 是一个能够在用户桌面的任何地方显示的容器,所以能够使用它构成程序刚运行时的splash画面,用java的jwindow运行出的splash画面,*/public class ESplash extends JWindow

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) { }
     }


Tags:java jwindow 运行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接