Bonjour,
J'utilise le design pattern MVC.
Dans une vue j'utilise une methode ajouteComposantsPanel() afin d'initialiser la vue.
apres je voudrais grace à la methode update() dans la meme classe, ajouter des JLabel.
Le probleme est que une fois la methode ajouteComposantsPanel() ait été appelée je ne peux pas ajouter a cette fenetre des JLabel avec update, tandis que si j'en ajoute a l'initialisation (avec ajoutComposantsPanel) j'y arrive.
La methode update est bien appelée. voici le code, hésitez pas a poser des question pour d'autres précisions.
J'ai teste dans le update de faire des repaint(), setVisible(true) mais aucun succes..
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 package vues; //.....imports // public class PanelListCommandes extends PanelFenetre implements Observer{ private String description; private JScrollPane scroll; private Model model; private String commandString; public PanelListCommandes(Model model){ super(); //description= new String(); //description= des; scroll=new JScrollPane(); t.addObserver(this); this.t=t; } public void ajouteComposantsPanel() { this.add(scroll, BorderLayout.CENTER); this.setBorder(new TitledBorder(null,"Suite des instructions", TitledBorder.CENTER, TitledBorder.DEFAULT_POSITION)); this.add(new JLabel("bla1")); //MARCHE this.add(new JLabel("bla2")); //MARCHE } @Override public void update() { //System.print...(); //MARCHE this.add(new JLabel("bla3"); //MARCHE PAS } }
A mon avis j'ai du mal choisir d'utiliser un JScrollPane, c'est peut etre pas compatible avec ce que je veux faire?
Probleme avec setBorder(..)?
Probleme de rafraichissement?
Quelqu'un aurait des idees? je suis grand debutant avec les interfaces grapiques Java, ca doit etre assez bete
Merci
Partager