我正在制作启动画面。我设法上课了。下面是一个显示启动画面的类。我的问题是如果我从JFrame调用此类并运行,JFrame和Splash屏幕同时运行,并且在启动屏幕应该持续的持续时间之后它们都将关闭。如何让它们同时显示?
非常感谢
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);
}
}
答案 0 :(得分:1)
您认为
有什么影响?System.exit(0);
会有您的计划吗?这是一个关闭窗口的大锤方式,因为它会导致JVM退出,关闭它正在运行的所有东西。
您是否考虑过使用Java Swing提供的SplashScreen对象?
答案 1 :(得分:0)
window.dipose();
dipose()会关闭窗口。