cs_Grulf
Messages postés12Date d'inscriptionmardi 1 avril 2008StatutMembreDernière intervention21 mai 2010
-
4 juin 2008 à 11:39
nosferaltu0
Messages postés36Date d'inscriptionmardi 6 mai 2008StatutMembreDernière intervention 6 juin 2008
-
5 juin 2008 à 11:56
Bonjour,
J'ai un JPanel contenant un formulaire.
J'ai créé 2 JPanels "president" et "tresorier" pour les 2 parties de ce formulaire, et j'ai une liste déroulante qui sélectionne le formulaire.
Je voudrais que lors de la sélection dans la liste déroulante, le formulaire choisi s'affiche directement.
// MISE EN PAGE
MigLayout tab = new MigLayout();
setLayout(tab);
/////////////////////////////////////////////////////////////////////////////////
// PANEL BAS GAUCHE
JPanel panel_bg = new JPanel();
panel_bg.setBorder(BorderFactory.createLineBorder(Color.red));
panel_bg.setLayout(new MigLayout());
// Liste déroulante
String[] tab_contact = new String[2];
tab_contact[0] = new String("Président");
tab_contact[1] = new String("Trésorier");
DefaultComboBoxModel modele = new DefaultComboBoxModel(tab_contact);
JComboBox liste_contact = new JComboBox(modele);
panel_bg.add(liste_contact, "wrap");
// PANEL PRESIDENT (BAS GAUCHE)
JPanel president = new JPanel();
president.setLayout(new MigLayout());
president.add(new JLabel("Président"), "wrap");
president.add(new JLabel("Nom"), "align right");
JTextField pr_nom = new JTextField(20);
president.add(pr_nom);
// ...
// PANEL TRESORIER (BAS GAUCHE)
JPanel tresorier = new JPanel();
tresorier .setLayout(new MigLayout());
tresorier .add(new JLabel("Trésorier"), "wrap");
tresorier .add(new JLabel("Nom"), "align right");
JTextField tr_nom = new JTextField(20);
tresorier .add(tr_nom);
// ...
// Ajout du panel sélectionné avec la variable "contact" au panel_bg
if (contact=="president")
{panel_bg.add(president);}
if (contact=="tresorier")
{panel_bg.add(tresorier);}
Je dois sans doute avoir besoin d'une variable de classe "contact" qui est modifiée lors de la sélection dans la liste déroulante?
nosferaltu0
Messages postés36Date d'inscriptionmardi 6 mai 2008StatutMembreDernière intervention 6 juin 2008 4 juin 2008 à 12:18
Ton problème viens du fait que l'ajout du panel est devrait être dans une fonction actionperformed d'un actionListener que tu ne semble pas avoir ajouté à ta JCombobox.(si tu veux que le changement soit dynamique il te faut utiliser un Listener).
Ensuite avec les String il ne faut utiliser = = mais la fonction equals.
Et pour finir il ne faudra pas que tu oublis de supprimer le composant déjà présent dans panel_bg.
<!-- END TEMPLATE: bbcode_code -->et la fonction itemStateChanged dans la classe "but_dossier_unique" du package "controleur"
<!-- BEGIN TEMPLATE: bbcode_code -->
<!-- END TEMPLATE: bbcode_code -->J'ai toujours l'affichage de mes
panels dans la fenêtre avec la liste déroulante, mais quand je
sélectionne, la panel ne se met pas à jour (changement de
formulaire)...
Je ne sais pas trop quoi mettre dans la fonction itemStateChanged...