/**
  * Renvoit le JPanel de droite, avec la valeur modifiable. Utilisé dans le cas où il n'y a pas
  * d'enfants.
  */
 private JPanel getPanelDroite(final boolean dernier) {
   panelDroite = new JPanel(new BorderLayout());
   String valeur = "";
   if (noeud != null) {
     if (attribut) valeur = noeud.getNodeValue();
     else {
       final Node firstChild = ((Element) noeud).getFirstChild();
       if (firstChild != null && firstChild.getNodeType() == Node.TEXT_NODE)
         valeur = firstChild.getNodeValue();
     }
   }
   if (attribut || cfg.contientDuTexte(refNoeud)) {
     ArrayList<String> enumeration;
     if (attribut) enumeration = cfg.listeValeursAttribut(refNoeud);
     else enumeration = cfg.listeValeursElement(refNoeud);
     final String[] tvalbool = {"true", "false", "1", "0"};
     if (enumeration != null && Arrays.equals(enumeration.toArray(), tvalbool)) {
       final String titre = getTitre();
       final JCheckBox cb = new JCheckBox(titre);
       if ("true".equals(valeur.trim()) || "1".equals(valeur.trim())) cb.setSelected(true);
       cb.addItemListener(this);
       comp = cb;
     } else if (enumeration != null) {
       listeValeurs = new ArrayList<String>(enumeration);
       if (!listeValeurs.contains(valeur)) listeValeurs.add(valeur);
       if (!obligatoire() && !listeValeurs.contains("")) listeValeurs.add("");
       final List<String> titresValeurs = new ArrayList<String>(listeValeurs.size());
       for (final String val : listeValeurs) {
         final String titreValeur;
         if (attribut) {
           final Element refParent = affParent.getNoeudRef();
           titreValeur = cfg.titreValeurAttribut(refParent, refNoeud, val);
         } else titreValeur = cfg.titreValeurElement(refNoeud, val);
         titresValeurs.add(titreValeur);
       }
       final JComboBox cb = new JComboBox(titresValeurs.toArray());
       final String titreValeur;
       if (attribut) {
         final Element refParent = affParent.getNoeudRef();
         titreValeur = cfg.titreValeurAttribut(refParent, refNoeud, valeur);
       } else titreValeur = cfg.titreValeurElement(refNoeud, valeur);
       cb.setSelectedItem(titreValeur);
       cb.addItemListener(this);
       comp = cb;
     } else {
       final ArrayList<String> listeValeursSuggerees;
       if (attribut) {
         final Element refParent = affParent.getNoeudRef();
         listeValeursSuggerees = doc.cfg.listeValeursSuggereesAttribut(refParent, refNoeud);
       } else listeValeursSuggerees = doc.cfg.listeValeursSuggereesElement(refNoeud);
       if (listeValeursSuggerees != null && listeValeursSuggerees.size() > 0) {
         listeValeurs = new ArrayList<String>(listeValeursSuggerees);
         if (!listeValeurs.contains(valeur)) listeValeurs.add(valeur);
         final List<String> titresValeurs = new ArrayList<String>(listeValeurs.size());
         for (final String val : listeValeurs) {
           final String titreValeur;
           if (attribut) {
             final Element refParent = affParent.getNoeudRef();
             titreValeur = cfg.titreValeurAttribut(refParent, refNoeud, val);
           } else titreValeur = cfg.titreValeurElement(refNoeud, val);
           titresValeurs.add(titreValeur);
         }
         final JComboBox cb = new JComboBox(titresValeurs.toArray());
         cb.setEditable(true);
         final String titreValeur;
         if (attribut) {
           final Element refParent = affParent.getNoeudRef();
           titreValeur = cfg.titreValeurAttribut(refParent, refNoeud, valeur);
         } else titreValeur = cfg.titreValeurElement(refNoeud, valeur);
         cb.setSelectedItem(titreValeur);
         cb.addItemListener(this);
         comp = cb;
       } else {
         final JTextField tf = new JTextField(valeur);
         tf.getDocument().addDocumentListener(this);
         comp = tf;
       }
     }
     panelDroite.add(comp, BorderLayout.CENTER);
     if (!"".equals(valeur)) {
       if (attribut) setValidite(cfg.attributValide(refNoeud, valeur));
       else setValidite(cfg.valeurElementValide(refNoeud, valeur));
     }
   }
   if (!attribut && affParent != null && affParent.enfantsMultiples(refNoeud)) {
     final JPanel panelBoutons = new JPanel(new FlowLayout(FlowLayout.CENTER, 0, 0));
     if (dernier) {
       final JButton boutonPlus = new JButton("+");
       boutonPlus.setAction(
           new AbstractAction("+") {
             public void actionPerformed(final ActionEvent e) {
               affParent.ajouterAffichageEnfant(AffichageFormulaire.this);
             }
           });
       panelBoutons.add(boutonPlus);
     }
     final JButton boutonMoins = new JButton("-");
     boutonMoins.setAction(
         new AbstractAction("-") {
           public void actionPerformed(final ActionEvent e) {
             affParent.retirerAffichageEnfant(AffichageFormulaire.this);
           }
         });
     panelBoutons.add(boutonMoins);
     panelDroite.add(panelBoutons, BorderLayout.EAST);
   }
   panelDroite.setBorder(BorderFactory.createEmptyBorder(1, 0, 1, 0));
   return (panelDroite);
 }