读书人

splash swing 起步进度条

发布时间: 2012-12-22 12:05:06 作者: rapoo

splash swing 启动进度条
java -jar -splash:xxx.jpg xxx.jar
SplashScreen-Image: EPM-300dpi_Large.jpg

import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics2D;import java.awt.SplashScreen;import javax.swing.JFrame;import javax.swing.JLabel;public class TestMitiThread {public TestMitiThread(){System.out.println("thread test");};               System.out.println(Thread.currentThread().getName() + "Thread start");        Progress ps = new Progress("Progress");        ps.start();                             //            JFrame frame = new JFrame("Splash Me2");        System.out.println("xxxxxxx");//            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//            JLabel label = new JLabel("Hello, Splash", JLabel.CENTER);//            frame.add(label, BorderLayout.CENTER);//            frame.setSize(300, 95);            System.out.println("No.");                for (int i = 0; i < 100; i++) {                    try {                      Thread.sleep(70);                    } catch (InterruptedException ignored) {                    }                    System.out.println("zzzzzzz:"+i);                  }//                  b=true;                  synchronized( ps.condition ){                  ps.condition.notify();                  }//            frame.setVisible(true);                                //        new FrameShow("Progress",ps.condition).start();        System.out.println(Thread.currentThread().getName() + "Thread over");    }}class Progress extends Thread {public Object condition=new Object();    public Progress(String threadName) {        super(threadName);//        this.condition=tt;    }    public  void  run() {                  SplashScreen splash = SplashScreen.getSplashScreen();        if(splash!=null){            Graphics2D g = (Graphics2D) splash.createGraphics();            Dimension dim = splash.getSize();            int wt=2;            System.out.println("width:"+dim.width);            System.out.println("height:"+dim.height);            for (int i = 0; i < 26; i++) {              g.setColor(Color.blue);              g.fillRect(11, 260, i*26, dim.height - 278);              g.drawString(i*4+"% ",(11+i*26),275);              splash.update();              try {                         if(i*4!=96){                           Thread.sleep(400);                         }else{                           synchronized( condition ) {                              condition.wait();                           }                         }                       } catch (InterruptedException ignored) {                       }            }            }else{                 System.out.println("splash is null");                 }    }}

读书人网 >编程

热点推荐