salut,
for(long i=0;i<100000000;i++){
System.out.println(i);// elle reste grise parce que tu demande au proc de traiter 100 millions de system.out.print, ce qu'il fait, voui il les écrit, mais il a pas vraiment le temps de faire autre chose..... notemment s'occuper de la fenêre...
}
tu pourrais faire plutot :
if(e.getActionCommand().equals("details")) {
Thread deail = new Thread(new Runnable(){
final JFrame j = new JFrame();
public void run(){
j = cmd.afficherCommande();
while(pasFini){
Thread.sleep(500); // endor le thread pour une 1/2 secondes, les autres traitements
// on le temps de s'effectuer
}
// lorsque pasFini passe à faux et que detail se reveille, on passe ici ...
// Une fois le traitement termine on ferme la fenetre
j.setVisible(false);
}
}
});
}
// il te reste à trouver le moyen de basculer la valeur booléenne de pasFini ailleurs dans ton code ....
A+