Bonjour,

J'ai une calculatrice multithreadée qui permet de lancer plusieurs calculs en même temps. Je cherche à afficher dans une JProgressBar l'état d'avancement du calcul puis à afficher le résultat du calcul dans un JLabel.

Cette JProgressBar et ce JLabel sont contenus dans un JPanel crée au lancement du calcul et nommés fenetreCalcul.

Les JPanel viennent s'ajouter dans une JFrame grandeFenetreCalcul.

Comme ils s'organisent n'importe comment, j'ai rajouté dans le constructeur de la JFrame un setLayout comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class GrandeFenetreResultat extends JFrame {
 
	// constructor
	public GrandeFenetreResultat() {
		// définir un titre
		this.setTitle("Resultat");
		// définir une taille
		this.setSize(200, 280);
		// donner un look
		setDefaultLookAndFeelDecorated(true);
		// définir sa position sur l'écran
		this.setLocationRelativeTo(null);
		// terminer le processus lorsqu'on clique sur fermer
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		// organiser selon des boites empilées
		this.setLayout(new BoxLayout(this,BoxLayout.Y_AXIS));
		// afficher
		this.setVisible(true);
	}
}
Lorsque je lance mon programme (d'abord mon serveur qui centralise puis mes 3 serveurs vers qui l'information est ensuite transmise et où se passe le calcul), j'obtiens l'erreur :

Exception in thread "main" java.awt.AWTError: BoxLayout can't be shared

Quelqu'un peut m'expliquer ce qu'il se passe?

Merci d'avance!