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 :

Comment faire pour un questionnaire


Sujet :

Java

  1. #1
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut Comment faire pour un questionnaire
    Bonjour,

    Voila mon soucis :
    J'ai un questionnaire avec un champ texte où est affiché une question, un autre où on tappe la réponse, et un bouton pour valider et afficher la question suivante. On répond à une question, et suivant la réponse, cela affiche une nouvelle question, toujours dans les même champs texte.

    Pour le moment, l'utilisateur doit tapper sa réponse (oui / non) puis valider pour afficher la question suivante.

    Et donc, je voudrais qu'il y ai juste à cliquer sur un bouton radio par exemple, et suivant la réponse, afficher dans le champ texte la nouvelle question, et ainsi de suite justqu'à la fin du questionnaire.

    Mais je ne sais pas du tout comment organiser cela, l'utilisation de 2 boutons radios servant plusieurs fois pour afficher les différentes questions.
    Je ne sais pas si je suis très clair en fait...

    Si quelqu'un me comprends et à une piste svp ?

    Merci d'avance,
    Très cordialement,

    ANDRE Ani
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Salut,

    Si les réponses restent du type oui / non, tu n'as presque rien a changer pour que cela fonctionne.

    Tu peux faire un truc dans ce genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    MonListener listener = new MonListener ();
    boutonOui = new JRadioButton("Oui");
    boutonNon = new JRadioButton("Non");
     
    boutonOui.addActionListener(listener);
    boutonNon.addActionListener(listener);
     
     
    class MonListener implements ActionListener
    {
        public void actionPerformed(ActionEvent event)
        {
          // Ici tu appelles la même méthode qui est chargée de calculer la réponse et d'afficher la nouvelle question 
        }
    }
    Avec ça, dès que tu vas cliquer sur ton radio, tu va appeler ta méthode de calcul et passer à la suite. Tu peux récupérer les valeurs du bouton avec bouton.isSelected();

    Après si les questions sont amenées à évoluer avec des réponses quelconque, tu gardes le même mécanisme mais tu changes la valeur du texte à chaque fois avec la méthode bouton.setText(), puis tu procèdes de la même manière en comparant la la valeur du bouton sélectionné avec la bonne réponse.

  3. #3
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Salut,

    Merci pour l'aide ;-)

    Voila un exemple de questionnaire pour être clair sur ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    String reponseR = jTextField4.getText();
            if (reponseR.equalsIgnoreCase("branché")) {
                jTextField4.setText("");
                jTextArea4.setText("Q : La carte réseau fonctionne-t-elle correctement ? \n\nSolution possible : Ouvrir l'invite de commande... R : Oui / Non");
            } else if (reponseR.equalsIgnoreCase("oui")) {
                jTextArea4.setText("Q : Les diodes sur la carte réseau s'allument-elles ? \n\nSolution possible : Si les diodes... R : Allumées / Pas allumées");
                jTextField4.setText("");
            } else if (reponseR.equalsIgnoreCase("allumées")) {
                jTextArea4.setText("Q : Les pages sont longues à s’afficher dans le navigateur internet ?\n\nSolution possible : Supprimer les fichiers... R : Lent / Pas lent");
                jTextField4.setText("");
            } else if (reponseR.equalsIgnoreCase("pas lent")) {
                jTextArea4.setText("Q : La box, le modem ou le routeur est-il en état de fonctionnement ?\n\nSolution possible : Vérifier avec le... R : Fonctionne / Fonctionne pas");
                jTextField4.setText("");
            }
    Si je comprends bien, il faut que je crée les 2 boutons et que je fasse un seul listener pour les 2 et suivant le bouton coché, afficher la réponse souhaitée ? Je ne sais pas comment faire cela pour les listener, je suis pas trop doué... Précision, je suis sous Netbeans.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  4. #4
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Bonjour,

    Ton if me fait mal au yeux

    Je te propose d'utiliser une Map pour stocker tes questions/réponses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Map<String,String> questionsReponses = new HashMap<String,String>();
    		questionsReponses.put("Q : La carte réseau fonctionne-t-elle correctement ? \n\nSolution possible : Ouvrir l'invite de commande... R : Oui / Non", "oui");
    		questionsReponses.put("Q : Les diodes sur la carte réseau s'allument-elles ? \n\nSolution possible : Si les diodes... R : Allumées / Pas allumées", "allumées");
    		questionsReponses.put("Q : Les pages sont longues à s’afficher dans le navigateur internet ?\n\nSolution possible : Supprimer les fichiers... R : Lent / Pas lent","pas lent");
    		questionsReponses.put("Q : La box, le modem ou le routeur est-il en état de fonctionnement ?\n\nSolution possible : Vérifier avec le... R : Fonctionne / Fonctionne pas","Fonctionne");
    Ou crée un objet Question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    import java.util.ArrayList;
     
    import java.util.List;
     
     
    public class Question {
     
    	private String question;
    	private String reponse;
    	private List<String> choix = new ArrayList<String>();
     
    	public Question(String question, String reponse, String mauvaiseReponse) {
    		this.question = question;
    		this.reponse = reponse;
    		this.choix.add(reponse);
    		this.choix.add(mauvaiseReponse);
    	}
     
    	public String getQuestion() {
    		return question;
    	}
     
    	public List<String> getChoix() {
    		return choix;
    	}
     
    	public boolean isReponse(String reponse) {
    		return this.reponse.equals(reponse);
    	}
     
    }
    Et déclaré une liste de question par la suite.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  5. #5
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    lol je me doute, mais je suis pas très doué, alors, je fais comme je peux ;-)
    Mais là, ça devient bien compliqué pour moi tout ça... Avec les boutons en plus à gérer...

    Je vais regarder tout ça et voir si j'arrive à comprendre et à l'utiliser.

    Merci beaucoup en tout cas !
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

Discussions similaires

  1. comment faire pour qu'une application soit toujours visible ?
    Par goldbar dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/03/2004, 14h35
  2. Réponses: 7
    Dernier message: 13/12/2003, 14h09
  3. comment faire pour developper des prog en win32
    Par rhodan51 dans le forum Autres éditeurs
    Réponses: 11
    Dernier message: 09/11/2003, 19h39
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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