我需要在单击按钮时显示启动屏幕。当我单击按钮时,启动画面必须可见,我会执行一些在后台运行的进程。后台进程完成后,飞溅必须消失。我使用了以下代码,但飞溅不可见。当我在主类中使用相同的代码时,它可以工作。
btnClickToMove.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JWindow window = new JWindow();
window.getContentPane().add(
new JLabel("Loading JFrame...", SwingConstants.CENTER));
window.setBounds(200, 200, 200, 100);
window.setVisible(true);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// my process which runs on background.......
window.setVisible(false);
window.dispose();
}
});
最佳答案
不要在 EDT 上执行长时间运行的任务。使用SwingWorker ,并参见Concurrency in Swing了解更多详情。
关于java - addActionListener 中的启动屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8311988/