le traitement que tu as fait dans la méthode actionPerformed s'exécute plus rapide que tu imagine ce qui entraine l'exécution de
Main.frame.setCursor(Cursor.getDefaultCursor());
...tu as touché à la solution en pensant à faire
Thread.currentThread().sleep(2000);
mais ca bloque l'EDT.
pour être pratique, je vais te donner un exemple " QDOS "
vite fait mal fait pour l'essayer et voir si ca marche.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public void actionPerformed(ActionEvent e)
{
Main.frame.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Thread monThread = new Thread()
{
public void run()
{
//sleep(2000);
for (int i=0;i<99999;i++)
System.out.println("ca va marcher !!");
Main.frame.setCursor(Cursor.getDefaultCursor());
}
};
monThread.start();
} |
Partager