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

NetBeans Java Discussion :

Créer deux JPanel ss-netbeans


Sujet :

NetBeans Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut Créer deux JPanel ss-netbeans
    Bonjour,

    Je travaille avec Ntebeans 6.8 :

    Description de mon besoin :
    Mon application est composée d'un menu à gauche et au centre de la fenêtre il y a une place là où je vais afficher un JPanel(i) (JPanel d'indice i) , car je veux à chaque fois et selon les résultats du traitement que je fais sur un JPanel(i), je mets ce dernier en setvisible(false) et j'affiche un autre JPanel(j).

    Problème:
    Dans netbeans , je n'ai pas trouvé un moyen de créer dans même projet "java desktop application " deux Jpanel, même si je fais New -> new JPanel, car je sais pas comment faire le lien entre Jpanel(i) et Jpanel(j)

    Demande :
    Merci de m'aider.



    Sisiniya.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Tu peux utiliser un java.awt.CardLayout et y placer tous tes JPanel.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    merci por votre réponse.

    SVP pourriez me dire comment ?

    Toujours mon besoin comme j'ai mentionné dans mon précédent message, c'est que je veux afficher un et un seul panel (disant panel1) dans le centre de la page, et suivant le résultat de traitement de cette panel, je vais faire appel un autre panel (disant panel2) qui va être afficher dans le même endroit en faisant : panel1.setVisbile(false) et panel2.setVisible(true).

    MERCI.

    Sisiniya

  4. #4
    Membre Expert

    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2009
    Messages : 553

  5. #5
    Membre confirmé Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Par défaut
    Bonjour,

    Merci pour le lien, j'ai fait un test par ce layout. Voilà comment j'ai procédé :

    Description De La Forme Désirée:
    Je suis dans mon JPanel Principale qui est composé de :

    1) JPanel1 à gauche qui contient 3 boutons placé de façon verticale (je considère ce Jpanel le menu de l'application qui doit être fixe)

    2) JPanel2 qui va contenir à chaque fois, selon le choix du menu, un parmi les diférents contenaire que je veux placer dans ce panel (JPanel2).

    En effet, on va associer à ce JPanel2 le CardLayout vue qu'il va contenir à chaque fois un parmi les JPanel que je veux y dépalcer.
    -------------------------------------------------------

    3) Ensuite j'ai ajouter un JPanel (JPanel_ext) au projet avec bouton droitsur projet-> New JPanel pour créer mon JPanel que je désire le placer dans Le JPanel2.

    --->> Alors au début de l'execution, je mets dans JPanel2 un JTabbedPanel, ensuite je veux quand je clique sur par exemple bouton1, qu'il m'affiche le JPanel_ext

    Comment j'ai utilisé CardLayout :

    Dans netbeans, il ne me permet pas d'ajouter un CardLayout à la main dans le code mais je dois préciser à partir de l'interface et c'est netbeans qui va générer automatiquement le code dans la méthode initComponents, donc pour associer (dans notre cas) au JPanel CardLayout, netbeans fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    
    /* Le code généré quand j'ai associer CardLayout au jPanel2 via l'interface de netbeans*/
    jPanel2.setLayout(new java.awt.CardLayout());
    
    /* Pour ajouter le jTabbedPanel que j'ai glissé vres le jPanel2 */
    jPanel2.add(jTabbedPane1, "card2");
    /* ici je sais pas qu'est ce que ç veux dire 'card2' et comme va se servire de ça, mais moi je l'ai utilisé dans le bout de code qui est le suivant */
    le problème c'est comment je vaid faire quand je clicke sur un bouton, pour qu'il m'affiche le JPanel_ext. voilà comment j'ai fait mais ça marche pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    private void button2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
               // TODO add your handling code here:
            jPanel2.remove(jTabbedPane1);
            jPanel2.add(JPanel_ext, "card2");
            JPanel_ext.setVisible(true);
            
        }
    avec cette déclaration que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private panel2 JPanel_ext = new panel2();
    /* panel2 est la classe que j'ai ajouté au projet qui est de type JPanel Form*/

    MERCI Infiniment pour vos aide, car vraimentj'ai passé beaucoup de temps à essayer mais vainement.

    Sisiniya

  6. #6
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    Salut !

    voilà un exemple avec un panel contenant deux cartes, la première avec un panel contenant des boutons, la deuxième avec un panel contenant un textfield :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    JPanel cards;
    final static String BUTTONPANEL = "Card with JButtons";
    final static String TEXTPANEL = "Card with JTextField";
     
    JPanel card1 = new JPanel();
    JPanel card2 = new JPanel();
    cards = new JPanel(new CardLayout());
    cards.add(card1, BUTTONPANEL);
    cards.add(card2, TEXTPANEL);
    dans l'événement gérant l'affichage, pour montrer le panel de boutons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    CardLayout cl = (CardLayout)(cards.getLayout());
    cl.show(cards, BUTTONPANEL);
    ...ça devrait le faire.

Discussions similaires

  1. [NetBeans] Créer un exe avec NetBeans
    Par radicalrider dans le forum NetBeans
    Réponses: 4
    Dernier message: 16/07/2012, 16h22
  2. [JPanel] Deux JPanel dans une fenêtre
    Par cysboy dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/09/2006, 16h02
  3. créer deux serveur web avec un seul adresse ip?
    Par Djo00 dans le forum Apache
    Réponses: 3
    Dernier message: 23/08/2006, 09h13
  4. Réponses: 2
    Dernier message: 15/03/2006, 18h32
  5. JPanel contenant deux JPanel definir taille de l un d eux
    Par mereyj dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 20/06/2005, 21h40

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