Bonjour,
Je vais vous expliquer brièvement mon problème.
Voila, je fais une application Java permettant de calculer le prix de différents produits pour un client. J'ai décidé de séparer les différents type de produits grâce à des onglets (JTabbedPane).
Mon problème est le suivant : pour l'instant, je n'ai que 2 onglets, l'application se lance sur le premier et je peux passer sur le 2eme et revenir sur le premier sans problème. Le problème vient de l'affichage de tous mes composants de ma fonction paint(). Lorsque je reviens sur le premier onglet, mes rectangles et images ne réapparaissent plus. J'ai pensé à placer un repaint() mais je ne sais pas où.
Voici le bout de code que je pense important:
J'ai prévu de créer une nouvelle classe pour le premier onglet mais pour le moment tout le code est resté dans la classe principale. Seul le 2eme onglet est dans une classe différente mais je ne pense pas que cela pose problème vu que ca marche pour l'instant :p
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 private JTabbedPane getOnglets() { if(Onglets== null) { try { Onglets = new JTabbedPane(JTabbedPane.TOP); Onglets.addTab("Tole", null, getOngletTole(), null); // Onglets.addTab("Lettres Découpées", null, getOngletLettre(), null); // //Onglets.addTab("Onglet 3", null, getOnglet3(), null); // } catch (java.lang.Throwable e) { // TODO: Something } } return Onglets; } private JPanel getOngletLettre() { OngletLettre ongletL = new OngletLettre(); JPanel panel2 = ongletL.getPanel(); return panel2; } private JPanel getOngletTole(){ //Création et ajout de tous mes composants Swing } public void paint(Graphics g) { super.paint(g); g.drawImage(ATlogo, 10, 49, 125, 123, this); g.drawRoundRect(21, 185, 150, 80, 5, 5); g.drawRoundRect(222, 185, 360, 220, 5, 5); g.drawRoundRect(42, 450, 325, 75, 5, 5); g.drawRect(352, 275, 100, 50); }
Merci d'avance.
N'hésitez pas a me poser des questions si il manque quelque chose dans le code
Partager