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

AWT/Swing Java Discussion :

Gérer toutes mes saisies grâce à un bouton


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Par défaut Gérer toutes mes saisies grâce à un bouton
    Bonjours,

    J'essaie de créer mon premier formulaire en Java (Ca ne doit pas s'appeler comme ça puisque je ne trouve aucun ex sur le net).

    Voilà mon code qui me crée un simulacre de formulaire:
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
     
    public class Client extends Frame{
     
      Panel ph;
      Panel pb;
      Panel pc;
     
      Label l;
      Choice ch;
     
      Label l1;
      JTextField denomination;
     
      CheckboxGroup gr;
      Checkbox rad1,rad2,rad3;
     
      JButton valider;
     
     
     
      //Constructeur pour la classe client
      public Client(String titre){
     
            super(titre);
     
           //Construction des panneaux(pb et ph)
           ph=new Panel();
           ph.setBackground(Color.cyan);
           pb=new Panel();
           pb.setBackground(Color.cyan);
           pc=new Panel();
           pc.setBackground(Color.cyan);
     
           //Construction liste déroulante (cac,ec) et du label
           l=new Label("Notre fonction: ");
           ch=new Choice();
           ch.add("Commissaire aux comptes");
           ch.add("Expert-comptable");
           ch.select(1);
     
           //Construction des inputText
           l1=new Label("Dénomination: ");
           denomination=new JTextField(50);
     
           //Construction des boutons radios
     
           gr=new CheckboxGroup();
           rad1=new Checkbox("Marchand",false,gr);
           rad2=new Checkbox("NonMarchand",false,gr);
           rad3=new Checkbox("Associatif",false,gr);
     
           //Construction bouton
           valider=new JButton("Valider");
           ValidForm validForm=new ValidForm(this);
           valider.addActionListener(validForm);
           rad1.addItemListener(validForm);
           rad2.addItemListener(validForm);
           rad3.addItemListener(validForm);
     
     
           //On place la liste sur la panneau ph et le label sur le panneau pb
           pc.add(l1);
           pc.add(denomination);
           pc.add(l);
           pc.add(ch);
           pc.add(rad1);
           pc.add(rad2);
           pc.add(rad3);
           pc.add(valider);
     
           add("Center",pc);
      }
    }
    Mon problème est le suivant:

    J'aimerais valider ce "formulaire" qu'au moment où je clique sur ok.
    Or pour l'instant, ça me fait séparément le JButton avec JTextField et la Liste
    avec les radios.


    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
     
    public class ValidForm implements ActionListener,ItemListener{
     
      Client parent;
      BaseDonnees BD=new BaseDonnees();
     
      //Constructeur
     
            ValidForm(Client parent){
             this.parent=parent;
      }
     
      public void actionPerformed(ActionEvent evt){
     
        JTextField monChampAffichage=null;
        JButton boutonClique=null;
        Object sourceEvt=evt.getSource();
     
        if(sourceEvt instanceof JButton){
          boutonClique=(JButton) sourceEvt;
           }
        else if(sourceEvt instanceof JTextField){
          monChampAffichage=(JTextField) sourceEvt;
        }
     
        String libBouton=boutonClique.getText();
        String libText=parent.denomination.getText();
        String libActivite=parent.gr.getSelectedCheckbox();
     
        String col="denomination";
        String col2="activite";
            try {
     
               BD.insertBd(libText,col,libActivite,col2);
     
     
            } catch(Exception se) {
                System.out.println("erreur commise est: "+se);
            }
      }
     
    //Method itemStateChanged: radion et liste de choix
     
        public void itemStateChanged(ItemEvent evt){
     
     
        //obj est l'objet qui a reçu evt, de type selection d'un item
        Object sourceEvt=evt.getSource();
     
        String s1="";
        String s2="";
     
            if(sourceEvt instanceof Checkbox){
                  String s1=(String)(evt.getItem());
     
     
        }
        else if(sourceEvt instanceof Choice){
             String s2=(String)(evt.getItem());
        }
     
        //On récupère l'item sélectionné avec la méthode getItem() qui interroge l'évènement
        //et on "cast" pour obtenir le résultat sous forme de chaîne
        //String s=(String)(evt.getItem());
     
            try {
     
               if(s2==""){
               BD.insertBd(s1,"activite");
               }
               else if(s1==""){
                 BD.insertBd(s2,"fonction");
               }
     
     
            } catch(Exception se) {
                System.out.println("erreur commise est: "+se);
            }
      }
    Est-ce que quelqu'un aurais un petit exemple pour que je puisse comprendre mes erreurs.

    merci d'avance
    claire

  2. #2
    Membre Expert
    Avatar de vpourchet
    Homme Profil pro
    Integrateur Systemes & Virtualisation
    Inscrit en
    Avril 2008
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Integrateur Systemes & Virtualisation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 159
    Par défaut
    je comprends pas trop le probleme, quand tu mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(sourceEvt instanceof JButton){
          boutonClique=(JButton) sourceEvt;
           }
        else if(sourceEvt instanceof JTextField){
          monChampAffichage=(JTextField) sourceEvt;
        }
    c'est que tu veut que les actions soient séparées :
    -soit on clic sur la checkbox
    -soit sur la liste

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Par défaut
    merci de ta réponse

    Je crois que je me suis vraiment emmêler les pinceaux

    En fait, je veux par ex:

    Nom:
    Prenom:
    Mr(rad1)Mme(rad2)
    activite(liste:CAC,EC)

    un bouton valider

    Et en cliquant sur ce bouton récupérer tous mes choix.
    Je suis en train de repartir à zéro mais si il y avait un petit ex je ne serais pas contre

    merci
    claire

  4. #4
    Membre Expert
    Avatar de vpourchet
    Homme Profil pro
    Integrateur Systemes & Virtualisation
    Inscrit en
    Avril 2008
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Integrateur Systemes & Virtualisation
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 159
    Par défaut
    1) apres le nom de ta classe tu rajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    implements ActionListener
    2) sur ton bouton tu mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AddActionListener(this);
                   setActionCommand("AJOUTER"); // une chaine sans espaces avec un nom différent pour chaque bouton
    3) tu override la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public void actionPerformed(ActionEvent e) {
    }
    en fin de ta classe en utilisant les getActionCommand placés précédemment


    exemple :

    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
     
            JButton btGo= new JButton("GO");
            btGo.setActionCommand("AJOUTER");
            btGo.addActionListener(this);
    ....
     
      public void actionPerformed(ActionEvent e) {
            Object obj = e.getSource();
            if(obj instanceof JButton) // sil y a plusieurs boutons
            {
                JButton bt= (JButton)obj;
                String strMnu = jmenuitem.getActionCommand();
                if(strMnu.compareTo("AJOUTER") == 0) // en fonction de la commande que tu as mis au boutton
                {   
                       System.out.println("Utilisateur ajouté");
                 }
           }
         }
    cheers

  5. #5
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, il vaut mieu éviter de mélanger AWT et Swing, je te conseille de modifier ta classe Client pour qu'elle hérite de JFrame au lieu de Frame.

Discussions similaires

  1. MESSAGE ID, Toutes mes zones sont blosquée à la saisie
    Par singleProject dans le forum SAP
    Réponses: 2
    Dernier message: 23/08/2010, 17h04
  2. Faire le meme bouton pour toutes mes fenetres
    Par dalton5 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 28/03/2007, 11h02
  3. [VBA-E] recupérer tout mes charts
    Par amel95140 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/12/2005, 15h24
  4. Réponses: 1
    Dernier message: 17/10/2005, 22h47

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