Problème d'affichage (refresh)
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.
Code:
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
}
} |
J'ai teste dans le update de faire des repaint(), setVisible(true) mais aucun succes..
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