Я пытаюсь создать экран загрузки для своей программы, чтобы он отображал экран загрузки при загрузке главного экрана или при выполнении определенной задачи. Я пытался использовать JDialog в качестве экрана загрузки, но по какой-то причине, как только открывается диалоговое окно экрана загрузки, он не позволяет основной программе выполнять свою собственную работу. Как заставить их работать одновременно?
Вот код моего экрана загрузки:
public class FrmLoading extends JDialog {
private static FrmLoading loading;
public FrmLoading(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
this.setLocationRelativeTo(null);
}
public static void startAnimation(){
loading = new frmLoading(null, true);
loading.setVisible(true);
}
public static void stopAnimation(){
loading.dispose();
}
private void initComponents(){
//build the Dialog
}
}
вот как я его использую:
private void login(){
FrmLoading.startAnimation();
//open main program
}
...
private void mainStart(){
//load contents
FrmLoading.stopAnimation();
}
Я знаю, что есть экран загрузки по умолчанию для Java Swing, но я не хочу его использовать, мне нужна анимация, которую я сделал.
modal = false
поможет. Тем не менее, SplashScreen по умолчанию может многое. - person Joop Eggen   schedule 27.11.2012