Probléme avec mon code
Résolu
aminaxy
Messages postés
148
Date d'inscription
Statut
Membre
Dernière intervention
-
aminaxy Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
aminaxy Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un problème avec mon code,en fait lorsque je clique sur le boutton radio jradiobutton1 il doit récupérer la valeur saisie dans le jtextfield2,fait la commande en arriére plan selon la valeur targetIP1 puis afficher le résultat dans le jTextarea1,or ce qui se passe lorsque je clique sur le ce radiobutton il m'affiche seulement le help de la commande spécifié,je ne sait pas où est l'erreur si quel qu'un peut m'aider et merci .
voici le code de l'action sur le radiobutton:
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String targetIP1=jTextField1.getText();
int x=Integer.parseInt(jTextField2.getText());
try{
String cmd = "tracert -w " +x+ " " +targetIP1;
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(response);
}catch(Exception e){
jTextArea1.append(e.toString()); }
}
voici le code de l'action sur le radiobutton:
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String targetIP1=jTextField1.getText();
int x=Integer.parseInt(jTextField2.getText());
try{
String cmd = "tracert -w " +x+ " " +targetIP1;
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(response);
}catch(Exception e){
jTextArea1.append(e.toString()); }
}
A voir également:
- Probléme avec mon code
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
2 réponses
Si cela te renvoie toujours l'aide c'est parce que ta commande est incorrecte.
Il faudrait que tu affiches la valeur de cmd pour la contrôler.
Après, j'ai repris ton code, pour voir comment on peut faire de la lecture de flux de manière un peu plus Java que ton char[] buffer qui fait fortement penser au C...
Il faudrait que tu affiches la valeur de cmd pour la contrôler.
Après, j'ai repris ton code, pour voir comment on peut faire de la lecture de flux de manière un peu plus Java que ton char[] buffer qui fait fortement penser au C...
private void jRadioButton2ActionPerformed(java.awt.event.ActionEvent evt) { String nom_cible=jTextField1.getText(); String cmd; try { int delai = Integer.parseInt(jTextField2.getText());; cmd = "tracert -w " +delai+ " " +nom_cible; } catch (NumberFormatException e) { System.err.println(e.toString()); cmd = "tracert " +nom_cible; } System.out.println(cmd); try { StringBuilder sb = new StringBuilder(); Scanner sc = new Scanner(Runtime.getRuntime().exec(cmd).getInputStream()); while (sc.hasNextLine()) sb.append(sc.nextLine()).append('\n'); sc.close(); jTextArea1.setText(sb.toString()); } catch (Exception e) { jTextArea1.setText(e.toString()); } }