IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

Problème d'affichage (refresh)


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Par défaut 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 : 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
    	}
    }
    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

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Par défaut
    ****Important
    Je viens de voir qu'en modifiant (avec la souris) la taille de la fenetre, les JLabel s'affichent !!
    c'est un probleme de repack? truc comme ca?

  3. #3
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Par défaut
    Bonjour,

    this.pack va condenser comme il faut ta fenêtre pour mettre tous les composants en preferredSize donc faire un refresh global. Sa fais le même refresh que le changement de la taille de la fenêtre.

    Je n'ai jamais vraiment compris le refresh mais si en changeant la taille, sa s'affiche bien c'est que tu ne refresh pas le bon composant, tu peux essayer fenetre.UpdateUI() qui va refresh toute ta fenêtre et non pas seulement le composant sur lequel tu fais repaint();
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

Discussions similaires

  1. Problème d'affichage
    Par mustang-gx dans le forum Bases de données
    Réponses: 8
    Dernier message: 26/01/2005, 22h54
  2. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59
  3. [Kylix] problème d'affichage
    Par scalvi dans le forum EDI
    Réponses: 1
    Dernier message: 18/06/2003, 10h07
  4. Réponses: 1
    Dernier message: 06/03/2003, 11h57
  5. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo