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

Agents de placement/Fenêtres Java Discussion :

Mise a jour de composent d'une Jframe deja compilé


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 41
    Par défaut Mise a jour de composent d'une Jframe deja compilé
    Je me demandais s'il etait possible de mettre a jour une jframe deja compilé (c'est a dire par exemple ajouter des composents a l'aide d'un event d'un bouton d'une autre jframe) peut etre avec le multithread mais je n'arrive pas a comprendre le principe

    Avez vous une idee sur la question ?

    merci.

  2. #2
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Bonsoir,
    Si j'ai bien compris ta question,c'est tout a fait possible. Ce que tu veux c'est par exemple, en cliquant sur un bouton, que ca t en creer un autre?
    Il suffit juste de "rafraichir" ta JFrame apres avoir creer ton nouveau composant.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 41
    Par défaut
    oui, mais quel methode doit on employer pour cela ?

  4. #4
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Pour rafraichir? moi j'utilise juste ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SwingUtilities.updateComponentTreeUI(getContentPane());

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 41
    Par défaut
    J'ai testé ta methode mais elle ne marche pas correctement
    je pense savoir pourquoi ca je met a jour des elements d'une jlist

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 41
    Par défaut
    j'ai essayé de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SwingUtilities.updateComponentTreeUI(bookmarks._List);
    _list est une jlist en public static.
    mais sa n'a pas mis a jour l'ajout de mon element dans ma jlist

  7. #7
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Pourrasi tu mettre un peu de code stp?Sinon j'ai déjà eut ce problème mais je ne me souviens plus trop comment j avais fait, j avais du bidouiller quelquechose du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    bookmarks._List.setEnabled(false);
    bookmarks._List.setEnabled(true);
    Mais c'est pas trés pratique, le mieux c'est que tu donne un peu de code je pense pour voir.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 41
    Par défaut
    ok

    en gros a chaque demarage de mon appli ma jlist va chercher des infos de configuration stocké dans une listbookmark :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	private void initCompoments() {
     
    		_List.setListData(Bookmark.listBookmark());
    	...		
    	}
    cette listBookmark est un tableau de String{] corespondant aux nom que je veux inserer dans ma jlist

    que je peux creer gace a une methode qui creer un nouveau profil utilisateur


    Bouton qui creer un nouveau profil utilisateur qui est sensé "mettre a jour la jframe contenant la jlist a rafraichir et ferme la jframe courante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    _BOK.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent ae) {
    ...
                               Bookmark.createPref(_TName.getText(),_TDriverclass.getText(),
    _THost.getText(),_TDataBase.getText(),_TUsername.getText(),_TPassword.getText());
     
     
        SwingUtilities.updateComponentTreeUI(bookmarks._List); 
     
         _f.dispose();
     
          }
    });
    mais la Mise a jour ne marche pas

  9. #9
    Membre expérimenté Avatar de Lethal
    Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 194
    Par défaut
    SwingUtilities.updateComponentTreeUI(bookmarks._List);

    _f.dispose();
    J'ai qq questions en fait.

    - la première ligne ne sert elle pas a mettre à jour dans le cas de changement de look&feel?

    - Est ce que les données de la liste ont vraiment été changées?
    - Tu a essayé en utilisant .validate() pour mettre à jour?

  10. #10
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Oui essaie un repaint() ou validate() et je me demande aussi si t as liste à bien été modifiée. Sinon le SwingUtilities.updateComponentTreeUI permet aussi de "rafraichir" tout les composants qui dépendent du composant mis en paramètre.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 41
    Par défaut
    Ca ne marche toujours pas snif

    j'ai essayé

    _BOK.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent ae) {

    if(_event == "new")
    Bookmark.createPref(_TName.getText(),_TDriverclass.getText(),_THost.getText(),_TDataBase.getText(),_TUsername.getText(),_TPassword.getText());
    else
    Bookmark.modifypref(_TName.getText(),_TDriverclass.getText(),_THost.getText(),_TDataBase.getText(),_TUsername.getText(),_TPassword.getText());
    bookmarks._List.repaint();
    bookmarks._List.revalidate();
    bookmarks._List.validate();

    _f.dispose();

    }
    mais sans succes

  12. #12
    Membre éclairé Avatar de bubu56
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Par défaut
    je ne suis pas sur d'avoir compris ce que tu veux...
    tu veux ajouter un composant à ta JFrame ou juste ajouter des lignes dans ta JList ?

  13. #13
    Membre éclairé Avatar de bubu56
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Par défaut
    au fait ....
    if(_event == "new") ...

    ca risque pas de marcher .... les comparaison de chaines se font en utilisant equals

    if("new".equals(_event)) ...
    ou
    if(_event.equals("new")) si tu es sur que _event est pas null...

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 41
    Par défaut
    Je vous montre le screenshot de mon appli pour que vous compreniez mieux mon probleme:




    Enfaite je voudrais que mon "new conf" quand je clique sur ok me mettre a jour l'affichage de ma jframe "your bookmarks".
    L'ajout marche correctement mais je suis obligé de relancer ma jframe "your bookmarks" pour voir les changements.

    merci

  15. #15
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 116
    Par défaut
    Tu mets ta jlist en static.

    tu ajoutes ton composant avec l'action du "OK" contenant ton actualisation de ta jlist

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClasseContenantLaJList.jListExistante = new JList(vecteurContenantLesNouveauxElements);
    et puis le panel qui contient ta jlist, met le en static egalement. et juste apres l'instruction précédente tu ajoutes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClasseContenantLePanel.panelContenantLaJList.setViewportView(jListExistante);
    peut-être qu'un repaint ou validate ou revalidate sera nécessaire.
    Mais moi j'avais le même probleme que toi (JList qui ne s'update pas) et le setViewportView m'a permis de régler ça.
    les repaint, etc que j'avais ne servait en fait a rien. lol

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/06/2006, 08h35
  2. [Access] Mise à jour de table depuis une autre
    Par Marcant dans le forum Langage SQL
    Réponses: 4
    Dernier message: 03/06/2006, 16h53
  3. Plusieurs composant dans une Jframe
    Par toitoine01 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 31/03/2006, 15h47
  4. Retirer un composant d une JFrame
    Par nicotine002 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 27/01/2006, 18h17
  5. Disposition de composants dans une JFrame
    Par Regis.C dans le forum Agents de placement/Fenêtres
    Réponses: 11
    Dernier message: 21/03/2005, 17h38

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