我想在我的啓動畫面上製作自己的進度條。創建我的啓動畫面很簡單:初始屏幕進度條沒有繪製
的Java -splash:EaseMailMain.jpg Main.class (在Eclipse)
我的主要方法的第一行調用此:
new Thread(new Splash()).start();
這就是飛濺類:
public class Splash implements Runnable {
public volatile static int percent = 0;
@Override
public void run() {
System.out.println("Start");
final SplashScreen splash = SplashScreen.getSplashScreen();
if (splash == null) {
System.out.println("SplashScreen.getSplashScreen() returned null");
return;
}
Graphics2D g = splash.createGraphics();
if (g == null) {
System.out.println("g is null");
return;
}
int height = splash.getSize().height;
int width = splash.getSize().width;
//g.drawOval(0, 0, 100, 100);
g.setColor(Color.white);
g.drawRect(0, height-50, width, 50);
g.setColor(Color.BLACK);
while(percent <= 100) {
System.out.println((width*percent)/100);
g.drawRect(0, height-50, (int)((width*percent)/100), 50);
percent += 1;
try {
Thread.sleep(50);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
我不得到任何錯誤,但我得到一個小盒子,它下面:
如果我改變drawRects爲(0,0,寬,高),這都沒有區別。
我試過調用鞦韆EDT用:
SwingUtilities.invokeAndWait((new Splash()));
但沒有任何反應。
任何人都可以看到問題嗎?或知道如何解決它?
我不能嘗試這個(因此評論),但我會小心行:'(寬*百分比)/ 100',因爲這些都是對整數的操作。 – sdasdadas 2013-02-10 21:40:30
這是一個有效的點,我會把100加倍。 – Adude11 2013-02-10 21:43:17
你可以寫100.0。 – sdasdadas 2013-02-10 21:43:54