У меня есть следующий JFrame с достаточно простым методом выхода из приложения. Я пытаюсь добавить какой-нибудь загрузчик (желательно GIF-файл с вращением). Однако в данный момент я только что добавил JLabel, называемый loading, для отображения текста «loading ...» при нажатии кнопки.
Проблема в том, что окно сообщений (то есть действие) вообще не отображается в моей функции, и загрузочный JLabel продолжает отображаться. Может кто-нибудь объяснить, почему это не работает, и дать мне советы о том, как заменить загрузочный текст GIF. Любая помощь будет великолепна.
public void Exit() {
btnExit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
// event start
loading.setVisible(true);
new SwingWorker<Void, String>() {
@Override
protected Void doInBackground() throws Exception {
Thread.sleep(100);
return null;
}
@Override
protected void done() {
// event start
loading.setVisible(false);
// prompt user input message box //
int close = JOptionPane.showConfirmDialog(panel,"Are you sure?",
"Information", JOptionPane.YES_NO_OPTION);
// await user selection.
if(close == JOptionPane.YES_OPTION) {
System.exit(0);
}
}
};
}
});
}