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

 Java Discussion :

Un débutant et les jFrames


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 25
    Par défaut Un débutant et les jFrames
    Bonjour à tous,

    Tout d'abord je tiens à m'excuser de mon ignorance Javaesque.
    Je me lance dans ce petit langage de programmation et j'avance à tâtons comme on dit .
    Voila ma question peut paraitre toute bête mais bon je me lance :
    Je cherche à créer une application avec une partie graphique. J'ai ma fenetre principale avec en haut de cette fenetre un menu avec des sous items. Mon idée est que lorsque je cliquerais sur un de ces sous items, les differents controls qui se trouvaient sur ma fenetre principale soient remplacés par les controls correspondant au sous item que j'aurai selectionné.
    Dois je donc toujours rester sur la même fenêtre en mettant en invisible les controls précédant, et en mettant visible les nouveau controls; ou alors je dois tout simplement créer une nouvelle instance de Jframe avec ces nouveaux controls tout en rendant invisible la Jframe correspondante à ma fenêtre principale ?

    Désolé si mes explications sont un peu confuse et la question un peu bêta mais bon..

    Merci d'avance à tous.

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 137
    Par défaut
    Bonjour minnemo et bienvenue

    en fait j'avais le meme probleme sauf que moi j'ai des boutons à gauche de la fanetre et un grand panneau dans l'espace restant ,et lorsque je cilque il faut afficher des controles correspondant ,

    donc la première methode que j'ai utilisé est de fair un repaint() au panneau
    mais ça provoque d'autre problème vous pouvez les voir en testant ça.

    donc la solution que j'ai utilisé et de faire à chaque bouton (item) un panel
    ce panel je l'ajoute au panneau principale et je fait panel.setVisible(true);

    et lorsque je change le bouton je fait pour panel setVisible(false)
    et comme ça pour les autres en restant dans une seule fenetre bien sur.

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 25
    Par défaut
    Merci pour ta réponse.
    J'avais pensé à cette méthode mais je me disais que : si tu as plusieurs sous items correspondant pour chacun à un panel. Si jamais tu en ouvres un (donc que tu le rend visible), comment savoir quel panel ne plus rendre visible. Car avec cette méthode, un tant soit peu que tu ais beaucoup de Panel en stock comment savoir quel panel mettre à false ?

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 127
    Par défaut
    Je crois que c'est plus simple en utilisant un cardLayout.
    Tu y ajoutes autant de panel que tu veux et ensuite tu gère lequel s'affiche au moment ou tu le demande (appui sur un bouton en général, mais y'a pas de raison que ça marche pas avec un menu)

  5. #5
    Membre confirmé
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 137
    Par défaut
    si vous avez un nombre fini d'itemes et je pense que c'est le cas, pas de problème pour faire ça vous faite stVisible(false) pour les panel que vous voulez pas afficher

  6. #6
    Membre averti
    Inscrit en
    Février 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 25
    Par défaut
    Quel est la méthode la plus commune et la plus "propre" (quoique je me dit au final si ton programme marche peu importe la méthode mais bon autant faire un truc un peu pro :p) :

    - Est ce que à chaque clic sur un sous item je dois creer une nouvelle JFrame (ce qui ferai au final beaucoup de JFrame) en rendant invisible la JFrame précédente ?
    - Est ce que je dois ne garder qu'un JFrame et associé à chaque sous items un JPanel (le panel correspondant au sous item deviendrai donc visible et tout les autres panel invisible, ce qui entrainerais a chaque fois des lignes de codes redondants) ?
    - Est ce que je dois utiliser un cardLayout ?

    Remarque mieux vaux avoir l'embarra du choix que pas de choix du tout

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

Discussions similaires

  1. [Débutant] Récupérer les paramètres d'une routine
    Par nifty dans le forum Assembleur
    Réponses: 5
    Dernier message: 18/04/2005, 14h35
  2. [Débutant(e)]Les servlets et Eclipse
    Par Ethylene dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 16/02/2005, 15h08
  3. question de débutant sur les objets
    Par boucher_emilie dans le forum ASP
    Réponses: 3
    Dernier message: 06/08/2004, 10h51
  4. Pb de débutant sur les pointeurs!!!
    Par benji17c dans le forum C
    Réponses: 6
    Dernier message: 30/09/2003, 17h50
  5. Un autre débutant ... désoler - Les mesh
    Par oxor3 dans le forum DirectX
    Réponses: 4
    Dernier message: 15/08/2003, 18h41

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