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

avec Java Discussion :

Problème avec mon code


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut Problème avec mon code
    bonjour,
    j'ai un problème concernant mon code,j'ai 2 radioButton et je veut que lorsque je clique sur le bouton start ,il exécute une commande dans le cmd (getRuntime().exec(mon commande)) et envoi le résultat dans un textarea,j'ai fait un drapeau dans les méthodes Actionperformed de chaque bouttonradio pour savoir s'il est sélectionné ou nn mais les boutons radio ne fonctionnent plus,mêmes j'ai utilisé la méthode JradioButton1.setSelected(true) pour sélectionner Jradiobutton par défaut,ça ne marche plus si quelqu’un peut m'aider car je ne sait pas comment résoudre le probléme et merci.

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    pour plus de détails voici la méthode à laquelle j'ai initialisé mes bouttons radio,et je l'appelle dans la méthode initcomponent():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     public void initradiobutton(){
     
     
            buttonGroup.add(jRadioButton1);
            buttonGroup.add(jRadioButton2);
            jRadioButton1.setSelected(true);
     
            jRadioButton1.addActionListener(this);
            jRadioButton2.addActionListener(this);
      }
    et c'est la méthode action performed de la bouton sur laquel je clique pour envoyer le résultat récupéré à partir de la cmd dans le text area,et choix c'est un drapeau que je le choisit pour savoir si le boutton radio séléctionné ou nn

    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
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
     
     
            if(evt.getSource()==jButton1) 
    		{
            if(jTextField1.getText().compareToIgnoreCase("")!=0){
                    try {
                        start(jTextField1.getText());
     
                    } catch (IOException ex) {
                        Logger.getLogger(window_swing.class.getName()).log(Level.SEVERE, null, ex);
                    }
    			}
     
    			else 
    			{
    		JOptionPane.showMessageDialog(this, 
    			       "Vous devez taper une adresse ip VALIDE!",
    			       "Erreur d'execution", 
    			        JOptionPane.WARNING_MESSAGE);
    			}
                    }
     
          if ((choix)&&(evt.getSource()==jButton1)) {
              radiobuttonchoix1(jTextField1.getText());
          }
          if ((choix=false)&&(evt.getSource()==jButton1)) {
             radiobuttonchoix2(jTextField1.getText());
         }
    l'implémentation des métodes Action performed des bouttons radio:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
            // TODO add your handling code here:
           choix=true;
     
        }                                             
     
        private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                              
            // TODO add your handling code here:
          choix=false;
     
        }
    et l'implémentation des 2 méthodes radiobuttonchoix1 et radiobuttonchoix2:

    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
    public void radiobuttonchoix1(String targetIP) {
     
              //String targetIP= jTextField1.getText();
     
           if(choix){
     
               try{ 
     
            String 	 cmd = "tracert -d "+targetIP;                        
            Process p = Runtime.getRuntime().exec(cmd);
            InputStream in = p.getInputStream();
            StringBuilder build = new StringBuilder();
            Reader reader = new InputStreamReader(in);
            //Reader reader = new InputStreamReader(in);
            char[] buffer = new char[512];
            int nbRead = reader.read(buffer);
            while(nbRead > 0) {
            build.append(buffer, 0, nbRead);
            nbRead = reader.read(buffer);
          }
            String response = build.toString(); 
     
    	//jTextArea1.setText("debut de la localisation:");
            jTextArea1.setText(response);
            }catch(Exception e){
    	jTextArea1.append(e.toString()); }
     
            }
          }
     
          public void radiobuttonchoix2(String targetIP) {
     
           try{ String 	 cmd = "tracert -w 20"+targetIP;                        
            Process p = Runtime.getRuntime().exec(cmd);
            InputStream in = p.getInputStream();
            StringBuilder build = new StringBuilder();
            Reader reader = new InputStreamReader(in);
     
            char[] buffer = new char[512];
            int nbRead = reader.read(buffer);
            while(nbRead > 0) {
            build.append(buffer, 0, nbRead);
            nbRead = reader.read(buffer);
          }
            String response = build.toString(); 
     
    	//jTextArea1.setText("debut de la localisation:");
            jTextArea1.setText(response);
            }catch(Exception e){
    	jTextArea1.append(e.toString()); }
    si quelqu'un peut m'aider à résoudre la problème des boutons radio et merci, parce qu’ils ne fonctionnent pas

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Points : 532
    Points
    532
    Par défaut
    les écouteurs sont autonomes et invoquent les méthodes avec une signature précise. Ici, tu ajouté un ActionListener sur tes boutonRadios. Tu DOIS avoir une méthode

    public void actionPerformed(ActionEvent evt)

    A voir le code que tu laisses, tu l'a renommée en jButton1ActionPerformed. Elle n'a donc pas le nom approprié et personne ne vient l'utiliser. Tu devrais donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public void actionPerformed(ActionEvent evt) {
       if(evt.getSource().equals(jRadioButton1) {
          jButton1ActionPerformed(evt);
       }
       else if(evt.getSource().equals(jRadioButton2) {
          jButton2ActionPerformed(evt);
       }
    }
    Comme ça tu as bien le listener qui va invoquer les méthode que tu as faite

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    merci oneagaindoguys,mais lorsque j'ai choisit l'un des 2 boutons radios et je clique sur le jbouton1,le programme m'affiche dans le textarea le resultat de la méthode start sans executer par exemple pour le jradiobutton1 j'ai associé la méthode radiobuttonchoix1(jTextField1.getText()),pour plus de précision,voila mon interface:
    -j'ai 2 radio buttons et j'associe à chaque radio button une méthode radiochoix qui sera appelé lorsque j'entre quelquechose dans le jtextfield1 puis je clique sur le boutton jbutton1,et qui sera affiche dans le jtextarea,
    or dans mon code seulement la méthode start(start(jTextField1.getText()) qui fonctionnent les méthodes associés aux jradiobuttons ne seront pas appelé,qi quelqu'un peut m'aider car je ne sait pas la source de l'erreur et merci pour tout aide

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Points : 532
    Points
    532
    Par défaut
    As-tu mis un écouteur sur ton JTextField pour qu'il réagisse lorsque tu saisies du texte à l'intérieur ?

  6. #6
    Membre à l'essai
    Inscrit en
    Février 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    merci parce que vous voulez m'aider,si tu veut le code est long,voici mon code en piéce jointe
    Fichiers attachés Fichiers attachés

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    j'ai implémenter la méthode Actionperformed du boutton Jbutton1 à laquelle il va écouter s'il y'a une action dans les 2 bouttons radio ou si je clique sur le boutton Jbutton1 et le JtextField1 est vide,ensuite il va appeler la méthode associé a chacun des radio buttons,je le fait comme suit:


    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
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
     
     
     
            if(evt.getSource()==jButton1) 
    		{
            if(jTextField1.getText().compareToIgnoreCase("")!=0){
                    try {
                        start(jTextField1.getText());
     
                    } catch (IOException ex) {
                        Logger.getLogger(window_swing.class.getName()).log(Level.SEVERE, null, ex);
                    }
    			}
     
    			else 
    			{
    		JOptionPane.showMessageDialog(this, 
    			       "Vous devez taper une adresse ip VALIDE!",
    			       "Erreur d'execution", 
    			        JOptionPane.WARNING_MESSAGE);
    			}
                    }
     
     
     
       if(evt.getSource().equals(jRadioButton1)) {
          //jButton1ActionPerformed(evt);
            radiobuttonchoix1(jTextField1.getText()); 
       }	
       else 
           if (evt.getSource().equals(jRadioButton2)) {
          //jButton1ActionPerformed(evt);
          radiobuttonchoix2((jTextField1.getText()));
       }
        }

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Points : 532
    Points
    532
    Par défaut
    Si tu veux "écouter s'il y'a une action dans les 2 bouttons radio" il faut ajouter des actionListener sur ces objets. Il faut mettre un écouteur sur chaque objet et dans la méthode actionPerformed déterminer d'où vient l'action. Ensuite, il ne reste plus qu'à réagir en fonction de la provenance

  9. #9
    Membre à l'essai
    Inscrit en
    Février 2012
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 22
    Points : 17
    Points
    17
    Par défaut
    j'ai ajouter des ActionListner sur chaque radiobutton,puis j'ai implémenter chaque méthode,or ce qui se passe la 2éme boutton radio ne fonctionne pas,dans sa méthode je doit entrer une valeur x dans le jTextfield1 puis cliquer sur le jboutton1,et le résultat de la commande sera affiché dans le jTextarea,or ce qui s'affiche est seulement l'aide de cette commande puisque le résultat est fournie par le cmd,voici ce que j'ai fait,et merci pour tout aide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String target=jTextField1.getText(); 
    int x=Integer.parseInt(jTextField2.getText()); 
     
    String cmd = "tracert -w " +x+ " " +target; 
    Process p = Runtime.getRuntime().exec(cmd);

  10. #10
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    1 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 190
    Points : 2 657
    Points
    2 657
    Par défaut
    C'est quoi que tu appelle l'aide de cette commande?

    Et qu'est ce qu'il affiche exactement?

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2009
    Messages : 540
    Points : 532
    Points
    532
    Par défaut
    Donc visiblement, du point de vue de tes écouteurs, ça a l'aire de fonctionner.

    S'il affiche l'aide de la commande, c'est que la commande est érronée. Avec le code actuel, tu autorises d'envoyer n'importe quoi (car l'utilisateur pe saisir n'importe quoi dans le champs de saisie) à Runtime.getRuntime().exec()
    Si tu imprimes ce que tu lui envoies, tu pourras peut-être voir qu'il y a une erreur dans la commande ce qui expliquerait pourquoi elle te renvoie l'aide.

Discussions similaires

  1. [JDOM] problème avec mon code
    Par aroua dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 30/04/2008, 14h36
  2. problème avec mon code pour accès au serveur ftp
    Par mimi51340 dans le forum Général Java
    Réponses: 1
    Dernier message: 04/03/2008, 00h24
  3. Problème avec mon code - un aperçu
    Par nsimon70 dans le forum Flash
    Réponses: 1
    Dernier message: 14/02/2008, 13h47
  4. [MySQL] problème avec mon code (envoi données) ?
    Par cuisto44000 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 20/12/2007, 10h45
  5. probléme avec mon code JAVA et MYSQL
    Par ulysse031 dans le forum JDBC
    Réponses: 5
    Dernier message: 10/05/2007, 01h46

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