我正在啓動屏幕上工作。我設法做了一堂課。下面是一個顯示啓動畫面的類。我的問題是如果我從JFrame調用這個類並運行,JFrame和Splash屏幕同時運行,並且在啓動屏幕持續時間過後,它們都關閉。如何讓它們同時顯示?如何同時顯示啓動畫面,然後顯示我的JFrame?
多謝
public class Splash extends JWindow {
AbsoluteLayout abs;
AbsoluteConstraints absImage, absBar;
ImageIcon image;
JLabel label;
JProgressBar bar;
public Splash() {
abs = new AbsoluteLayout();
absImage = new AbsoluteConstraints(0, 0);
absBar = new AbsoluteConstraints(0, 210);
label = new JLabel();
image = new ImageIcon(this.getClass().getResource("anime.gif"));
label.setIcon(image);
bar = new JProgressBar();
bar.setPreferredSize(new Dimension(350,10));
this.getContentPane().setLayout(abs);
this.getContentPane().add(label, absImage);
this.getContentPane().add(bar, absBar);
new Thread() {
public void run() {
for (int i = 0; i < 100; i++) {
bar.setValue(i);
try {
sleep(80);
} catch (InterruptedException ex) {
Logger.getLogger(Splash.class.getName()).log(Level.SEVERE, null, ex);
}
}
System.exit(0);
}
}.start();
this.pack();
this.setLocationRelativeTo(null);
this.setVisible(true);
}
}
我知道那行代碼的作用。我只是沒有找到一個替代方案,因此我在這裏尋求幫助。謝謝我會檢查擺動中的SplashScreen –
@da_elysian_fields:如果你不想顯示一個窗口,你可以在窗口調用'setVisible(false)'。但是'System.ext(0)'也會結束程序而沒有恢復的機會。 –
*「Java Swing提供的SplashScreen對象」*(禮貌咳嗽)ITYM *「.. AWT提供」*它是解決此問題的最佳方法。 –