Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1444 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  URGENT : Pouvez-vous m'aider pour mon programme?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

URGENT : Pouvez-vous m'aider pour mon programme?

n°2255526
the_rosari​o_7
Posté le 12-04-2015 à 10:20:27  profilanswer
 

Bonjour à tous, j'ai un petit souci : j'ai fait un programme java calculant le pgcd et le ppcm de deux nombres, et je voudrais le représenter sur une interface graphique. J'ai déjà créé une fenêtre, j'y ai mis un panneau, deux champs de texte et un bouton, cependant je n'arrive pas à faire en sorte que les valeurs que j'entre dans les champs de texte soient prises en compte ni à faire afficher le résultat, pouvez-vous m'aider?
 
Voici ce que j'ai tapé jusqu'à présent :  

Code :
  1. import java.util.Scanner;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.awt.event.*;
  5. import javax.swing.border.*;
  6. public class Pgcdppcmgraphique {
  7. public static void main(String[] args) {
  8.   FenetreAvecBouton fen = new FenetreAvecBouton();
  9.   fen.setVisible(true);
  10.   fen.setDefaultCloseOperation(3);
  11.   fen.setSize(800,600);
  12.   fen.setResizable(false);
  13.   fen.setTitle("PGCD/PPCM" );
  14.   char reponse = ' ';
  15.   Scanner sc = new Scanner(System.in);
  16.       int a,b,x,t,m;
  17.       do{
  18.        System.out.println("Entrez le premier nombre:" );
  19.        a = sc.nextInt ();
  20.        System.out.println("Entrez le deuxieme nombre:" );
  21.        b = sc.nextInt ();
  22.        if (b>a)
  23.        {x=b;
  24.        b=a;
  25.        a=x;}
  26.        if (a%b==0)
  27.        System.out.println("Le PPCM est :"+a);
  28.        else
  29.        {t=(a*b);
  30.        while(b != 0)
  31.        {x = a%b;
  32.         a = b;
  33.         b = x;}
  34.         m=t/a;
  35.        System.out.println ("Le PPCM est :"+m);
  36.        }
  37.        while(b != 0)
  38.        {x = a%b;
  39.         a = b;
  40.         b = x;}
  41.        System.out.print("Le PGCD est :"+a);
  42.        do{
  43.      System.out.println ("\nSouhaitez vous réutliser le programme ?(O/N)" );
  44.      reponse = sc.next().charAt(0);
  45.     }while(reponse != 'O' && reponse != 'N');
  46.        }while (reponse == 'O');
  47.       sc.close();
  48.       System.out.println ("Goude Baille" );
  49.      }
  50. }
  51. class FenetreAvecBouton extends JFrame implements ActionListener{
  52. private JPanel pan1;
  53. private JButton résultat;
  54. private JTextField nombre1, nombre2;
  55. private JLabel entrera = new JLabel();
  56. private JLabel entrerb = new JLabel();
  57. int a,b,x,t,m;
  58. public FenetreAvecBouton() {
  59.  setBounds(200,200,420,450);
  60.  setTitle("" );
  61.     Border bord = new LineBorder(Color.black);
  62.         JButton résultat = new JButton();
  63.         résultat.setText("Réponse" );
  64.         Container co = getContentPane();
  65.  co.setLayout(new FlowLayout());
  66.  co.add(résultat);
  67.  résultat.addActionListener(this);
  68.  pan1 = new JPanel();
  69.  pan1.setPreferredSize(new Dimension(780,530));
  70.  pan1.setBorder(bord);
  71.     JTextField nombre1 = new JTextField();
  72.     nombre1.addActionListener(this);
  73.     JTextField nombre2 = new JTextField();
  74.     nombre2.addActionListener(this);
  75.  pan1.add(nombre1);
  76.     pan1.add(nombre2);
  77.     nombre1.setPreferredSize(new Dimension(78,27));
  78.     nombre2.setPreferredSize(new Dimension(78,27));
  79.     co.add(pan1);
  80. }
  81.     public void actionPerformed(ActionEvent ae){
  82.  JOptionPane réponse;
  83.  réponse = new JOptionPane();
  84.  a = nombre1.getText();
  85.  b = nombre2.getText();
  86.  if (b>a)
  87.         {x=b;
  88.         b=a;
  89.         a=x;}
  90.         if (a%b==0)
  91.         réponse.showMessageDialog(null,"Le PPCM est :"+a,"Résultat",JOptionPane.INFORMATION_MESSAGE);
  92.         else
  93.         {t=(a*b);
  94.         while(b != 0)
  95.         {x = a%b;
  96.          a = b;
  97.          b = x;}
  98.          m=t/a;
  99.         réponse.showMessageDialog(null,"Le PPCM est :"+m,"Résultat",JOptionPane.INFORMATION_MESSAGE);
  100.         }
  101.         while(b != 0)
  102.         {x = a%b;
  103.          a = b;
  104.          b = x;}
  105.         réponse.showMessageDialog(null,"Le PGCD est :"+a,"Résultat",JOptionPane.INFORMATION_MESSAGE);
  106. }
  107. }


 
 
Merci d'avance, j'attends vos réponses :)


Message édité par the_rosario_7 le 12-04-2015 à 10:23:40
mood
Publicité
Posté le 12-04-2015 à 10:20:27  profilanswer
 

n°2255542
caps lock
Posté le 12-04-2015 à 23:03:01  profilanswer
 

1) tu mélanges un Scanner avec une interface graphique.. relis tes cours avant d’écrire une seule ligne de code
2) tu mets des accents dans ton code c'est impardonnable
3) le code que tu fournis ne compile même pas car tu tentes de faire rentrer un élément de type String dans un Integer, c'est pourtant ton premier message d'erreur
 
En temps normal t'aurais déjà eu l'aide que tu demandes mais tu fais pas d'effort

n°2255987
Grimbergen​93
Posté le 17-04-2015 à 08:10:18  profilanswer
 

Outre ce qui a été dit plus haut :
 
- commente l'utilisation de toute la partie ou tu utilises l'objet Scanner, si tu utilises une interface swing, tu n'en auras pas besoin.
Ton main ne devrait lancer soit l'interface graphique, soit le mode avec Scanner.
 
- le calcule de ton modulo devrait aussi être externalisé dans une méthode à part. tu t'y retrouverais mieux.
 
- Ton vrai problème, celui qui fait que quand tu cliques sur le bouton de ton interface bah ça ne fait rien, c'est justement parce que tu n'as associé aucune action à ton input (ton bouton).
 
si tu utilises actionperformed, tu dois tester ce qu'il se passe sur ta fenetre :
 Si on appui sur mon bouton, je fais ça.
etc etc.
 
en gros dans ton acitonperformed tu devrais avoir un truc du genre :
 if (e.getSource().equals(résultat)  {  
   jedevraisliredestutosplutotquedecopiercollerpartout();
}
 
et tu fais ça pour chaque truc qui est sensé déclencher une action.
 
Sinon, tu peux faire autrement, à la création du bouton, tu lui associes ton action :
 
Bouton résultat = nouveau bouton
bouton.addactionlistener et directement en parametre de addactionlister  tu mets ton action performed SANS LES DEUX LIGNES ou tu parles de JOptionPane quand même (t'en as pas besoin... copier collé c'est mal !


---------------
bnet : Grimbergen#2233

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  URGENT : Pouvez-vous m'aider pour mon programme?

 

Sujets relatifs
Programme de Conversion base 10 vers 16 et inversement.Probleme amélioration programme
Preuve de programmeaide pour programme python !
Programme ASCII85Programme en VB Multicam
[python] syntaxe execution programme externeProgramme jeux fort boyard
Aide programme javaAide pour programme java
Plus de sujets relatifs à : URGENT : Pouvez-vous m'aider pour mon programme?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR