Oui, il faut toujours créer un thread à part, ou, plus exactement, toujours se placer dans le dispatching thread, dès le départ.
Voici le modèle de la méthode main d'un programme swing, extrait d'une
HelloWorld :
Code:
1 2 3 4 5 6 7 8
| public static void main(String[] args) {
//Schedule a job for the event-dispatching thread:
//creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
}); |
Au départ, sun disait que ce n'était pas la peine ; puis ils ont découvert un bug de conception, et, finalement, il faut toujours le faire.