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

AWT/Swing Java Discussion :

Ajouter des composants à chaud avec Swing


Sujet :

AWT/Swing Java

  1. #1
    raj
    raj est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 100
    Points
    100
    Par défaut Ajouter des composants à chaud avec Swing
    Je souhaiterais ajouter un JPanel à mon application , mais
    en cours d'éxécution ,
    comment puis-je faire ?




    [Modéré par Didier]
    Ajout de tag dans le titre
    Lire les règles du forum : Règles du forum Java

  2. #2
    raj
    raj est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 100
    Points
    100
    Par défaut Ajouter des composants à chaud avec Swing
    Pour être plus précis .
    Dans mon application , j'ai comme LayoutManager de plus haut
    niveau un BoxLayout ( en Y_AXIS ).
    Ce layout gère deux JPanel .
    Au démarrage , mon application ne doit afficher que le premier .
    Je souhaite afficher le deuxieme uniquement après une action .
    Pour cela j'ai écrit .

    client.setVisible(false); // Client est le JPanel en question

    et dans le traitement de l'action je le remets à true.
    Mais ce ne marche pas!
    Quelqu'un peut-il m'aider ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,
    De mémoire: une fois que tu as fais ton action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    client.setVisible(true);
    tu dois faire un repaint() sur ton layout de plus haut niveau (ton BoxLayout, si j'ai bien compris).

    @+

  4. #4
    raj
    raj est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 100
    Points
    100
    Par défaut Ajouter des composants à chaud avec Swing
    Malheureusement j'y avais pensé mais il n'existe pas
    de méthode repaint pour BoxLayout (et pour les layout en général).
    Par contre j'ai essayé une méthode plus proche :

    layout_racine.invalidateLayout(this)
    // layout_racine est le BoxLayout et this le container associé

    Mais ca ne marche pas !
    Que faire?

  5. #5
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    essaie un repaint sur le container du boxlayout
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  6. #6
    Membre du Club Avatar de JWillow
    Inscrit en
    Juin 2003
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 57
    Points : 67
    Points
    67
    Par défaut
    Perso je pense qu'il faut que du face un validate() sur ton container

  7. #7
    raj
    raj est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 100
    Points
    100
    Par défaut Ajouter des composants à chaud avec Swing
    Ca ne marche pas non plus .
    Un peu plus de précision pour comprendre mon prob :

    -Si je fais l'inverse c.à.d je déclare le JPanel à true ,
    puis à l'issue de l'action je le mets à false .
    Ca marche mais le JPanel reste présent en terme d'espace
    il est juste invisible .
    Ceci veut dire que l'appli garde les calculs effectues par le
    BoxLayout . (mème apres un invalidate )

    Ce qu'il faudrait c'est que le BoxLayout recalcule la disposition
    de ces composants .
    Est-ce possible ou faut-il réimplementer son propre Layout ?

  8. #8
    raj
    raj est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 100
    Points
    100
    Par défaut Ajouter des composants à chaud avec Swing
    Je remercie grandement JWillow .
    Apres validate sur le container , tout fonctionne
    Merci encore .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C# express] Comment ajouter des composants à la palette d'outils?
    Par Jayceblaster dans le forum Visual Studio
    Réponses: 1
    Dernier message: 04/11/2006, 20h40
  2. Créer des composants personnalisés avec JBuilder 4
    Par mtaveau dans le forum JBuilder
    Réponses: 4
    Dernier message: 21/06/2006, 07h08
  3. [IDE] Ajouter des composants
    Par mohamed dans le forum EDI
    Réponses: 2
    Dernier message: 11/02/2006, 09h16
  4. Réponses: 1
    Dernier message: 02/01/2003, 12h45

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