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 :

machine a calculer level 2


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut machine a calculer level 2
    salut tout le monde ! alors voila, cest mon 5 ième jour de java et jai fais n ptite calculette.. efin jai commencer... jai mon Start.java qui lance mon interface graphique et je voulais faire un brain.java qui effectuerai les calcule... mais je suis assez bloquer car en faite lorsque je clik sur le bouton 2,5,6,+,2 sur ll'interface de ma calculette ben sa maffiche 256+2 dans mon Jlabel de mon interface.. jusque la c'est facile, mais ensuite je ne sais pas comment faire pour que mon Brain.java me renvoie 258 pour cet exmple...

    voici mon code Start.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class Start {
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
    		Interface lancement = new Interface();
    		lancement.setVisible(true);
     
    		}
     
    	}
    ensuite ya mon Interface.java

    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;
    import javax.swing.JButton;
     
    //  *****************************************************************
    //  *****************************************************************
     
    public class Interface extends JFrame {
     
    //	*****************************************************************
    //	*****************************************************************
    	//déclaration des éléments de la classe
    	private JDesktopPane jDesktopPane;
    	private JButton Bouton7;
    	private JButton Bouton8;
    	private JButton Bouton9;
    	private JButton Bouton4;
    	private JButton Bouton5;
    	private JButton Bouton6;
    	private JButton Bouton1;
    	private JButton Bouton2;
    	private JButton Bouton3;
    	private JButton Bouton0;
    	private JButton BoutonPoint;
    	private JButton BoutonPlus;
    	private JButton BoutonMoin;
    	private JButton BoutonFois;
    	private JButton BoutonDiviser;
    	private JButton BoutonCalculer;
    	private JButton BoutonReset;
    	private JLabel ZoneDaffichage;
     
    	private String calcul = "";
     
    	Brain instance = new Brain();//creation de l'objet pour passer dans Brain.java
    	//cette méthode initialise le JDesktopPane
    	private JDesktopPane getJDesktopPane() {
    			ZoneDaffichage = new JLabel();
    			ZoneDaffichage.setBounds(new Rectangle(5,5,290,20));
    			ZoneDaffichage.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
    			ZoneDaffichage.setText(null);
    			jDesktopPane = new JDesktopPane();
    			jDesktopPane.add(getBouton7(), null);
    			jDesktopPane.add(getBouton8(), null);
    			jDesktopPane.add(getBouton9(), null);
    			jDesktopPane.add(getBouton4(), null);
    			jDesktopPane.add(getBouton5(), null);
    			jDesktopPane.add(getBouton6(), null);
    			jDesktopPane.add(getBouton1(), null);
    			jDesktopPane.add(getBouton2(), null);
    			jDesktopPane.add(getBouton3(), null);
    			jDesktopPane.add(getBouton0(), null);
    			jDesktopPane.add(getBoutonPoint(), null);
    			jDesktopPane.add(getBoutonPlus(), null);
    			jDesktopPane.add(getBoutonMoin(), null);
    			jDesktopPane.add(getBoutonFois(), null);
    			jDesktopPane.add(getBoutonDiviser(), null);
    			jDesktopPane.add(getBoutonCalculer(), null);
    			jDesktopPane.add(ZoneDaffichage, null);
    			jDesktopPane.add(getBoutonReset(), null);
     
    			return jDesktopPane;
     
    	}
     
    //	*****************************************************************
    //	*****************************************************************
     
    	//méthode pour addition les chiffre dans la Zone d'affichage
    	private void addTexte(String add){//variable string comme paramètre
    		calcul = calcul + add;//variable calcule = calcule + paramètre de la fonction
    		ZoneDaffichage.setText(calcul);//et on affiche calcul
    	}
     
    //	*****************************************************************
    //	*****************************************************************
     
    	//Cette méthode initialise le bouton 7
    	private JButton getBouton7() {
    			Bouton7 = new JButton("7");
    			Bouton7.setBounds(new Rectangle(20,40,41,41));
    			Bouton7.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("7");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton7;
    	}
     
    //	Cette méthode initialise le bouton 8
    	private JButton getBouton8() {
    			Bouton8 = new JButton("8");
    			Bouton8.setBounds(new Rectangle(65,40,41,41));
    			Bouton8.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("8");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton8;
    	}
     
    	//Cette méthode initialise le bouton 9
    	private JButton getBouton9() {
    			Bouton9 = new JButton("9");
    			Bouton9.setBounds(new Rectangle(110,40,41,41));
    			Bouton9.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("9");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton9;
    	}
     
    	//cette méthode initialise le bouton 4
    	private JButton getBouton4() {
    			Bouton4 = new JButton("4");
    			Bouton4.setBounds(new Rectangle(20,86,41,41));
    			Bouton4.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("4");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton4;
    	}
     
    	//cette méthode initialise le bouton 5
    	private JButton getBouton5() {
    			Bouton5 = new JButton("5");
    			Bouton5.setBounds(new Rectangle(65,86,41,41));
    			Bouton5.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("5");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton5;
    	}
     
    	//cette méthode initialise le bouton 6
    	private JButton getBouton6() {
    			Bouton6 = new JButton("6");
    			Bouton6.setBounds(new Rectangle(110,86,41,41));
    			Bouton6.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("6");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton6;
    	}
     
    	//cette méthode initialise le bouton 1
    	private JButton getBouton1() {
    			Bouton1 = new JButton("1");
    			Bouton1.setBounds(new Rectangle(20,132,41,41));
    			Bouton1.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("1");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton1;
    	}
     
    	//cette méthode initialise le bouton 2
    	private JButton getBouton2() {
    			Bouton2 = new JButton("2");
    			Bouton2.setBounds(new Rectangle(65,132,41,41));
    			Bouton2.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("2");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton2;
    	}
     
    	//cette méthode initialise le bouton 3
    	private JButton getBouton3() {
    			Bouton3 = new JButton("3");
    			Bouton3.setBounds(new Rectangle(110,132,41,41));
    			Bouton3.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("3");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton3;
    	}
     
    	//cette méthode initialise le bouton 0
    	private JButton getBouton0() {
    			Bouton0 = new JButton("0");
    			Bouton0.setBounds(new Rectangle(20,178,87,41));
    			Bouton0.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("0");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return Bouton0;
    	}
     
    	//cette méthode initialise le point point
    	private JButton getBoutonPoint() {
    			BoutonPoint = new JButton(".");
    			BoutonPoint.setBounds(new Rectangle(110,178,41,41));
    			BoutonPoint.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte(".");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return BoutonPoint;
    	}
     
    	//cette méthode initialise le bouton +
    	private JButton getBoutonPlus() {
    			BoutonPlus = new JButton("+");
    			BoutonPlus.setBounds(new Rectangle(155,40,41,41));
    			BoutonPlus.setForeground(java.awt.Color.orange);
    			BoutonPlus.setBackground(java.awt.Color.gray);
    			BoutonPlus.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("+");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return BoutonPlus;
    	}
     
    	//cette méthode initialise le bouton -
    	private JButton getBoutonMoin() {
    			BoutonMoin = new JButton("-");
    			BoutonMoin.setBounds(new Rectangle(155,86,41,41));
    			BoutonMoin.setForeground(java.awt.Color.orange);
    			BoutonMoin.setBackground(java.awt.Color.gray);
    			BoutonMoin.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("-");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return BoutonMoin;
    	}
     
    	//cette méthode initialise le bouton *
    	private JButton getBoutonFois() {
    			BoutonFois = new JButton("*");
    			BoutonFois.setBounds(new Rectangle(155,132,41,41));
    			BoutonFois.setForeground(java.awt.Color.orange);
    			BoutonFois.setBackground(java.awt.Color.gray);
    			BoutonFois.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("*");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return BoutonFois;
    	}
     
    	//cette méthode initialise le bouton /
    	private JButton getBoutonDiviser() {
    			BoutonDiviser = new JButton("/");
    			BoutonDiviser.setBounds(new Rectangle(155,178,41,41));
    			BoutonDiviser.setForeground(java.awt.Color.orange);
    			BoutonDiviser.setBackground(java.awt.Color.gray);
    			BoutonDiviser.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
    					addTexte("/");	//appel + valeur du paramétre de la fonction				
    				}
    			});
    		return BoutonDiviser;
    	}
     
    	//cette méthode initialise le bouton Calculer
    	private JButton getBoutonCalculer() {
    			BoutonCalculer = new JButton("Calculer");
    			BoutonCalculer.setBounds(new Rectangle(20,224,87,41));
    		return BoutonCalculer;
    	}
     
     
    	//cette méthode initialise le bouton reset
    	private JButton getBoutonReset() {
    			BoutonReset = new JButton("Reset");
    			BoutonReset.setBounds(new java.awt.Rectangle(110,224,87,41));
    			BoutonReset.addActionListener(new ActionListener(){
     
    				public void actionPerformed(ActionEvent e) {
     
    					ZoneDaffichage.setText("");
    					calcul = "";
    				}
    			});
    		return BoutonReset;
    	}
     
    //contructeur par defaut
    	public Interface() {
    		super();
    		initialize();
    	}
     
    //	*****************************************************************
    //	*****************************************************************
     
    	//cette méthode initialise this
    	private void initialize() {
    		this.setSize(309, 320);
    		this.setContentPane(getJDesktopPane());
    		this.setTitle("Calculatrice");
    	}
     
    //	*****************************************************************
    //	*****************************************************************
     
     
    }
    et jaimerai pour finir que les calccule se font dans Brain.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class Brain {
     
     
    }
    merci de me mettre sur la bonne voie...
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  2. #2
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    tu peut faire ceci dans le corps de actionPerformed de +(meme chose pour les autres operateurs):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    resultat+=new Integer(add).floatValue();
    add.setText("");
    et dans le corps de actionPerformed de calculer tu met le resultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    zoneDaffichage.setText(String.valueOf(resultat));
    resultat est de type float.
    voila j'espere que ca t'aiderai parceque j'ai pas tout lu
    qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    mais sa va faire koi exactement ???'
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  4. #4
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    resultat+=new Integer(add).floatValue();
    add.setText("");
    a chaque fois que le bouton + est "clique", ca va additionner la valeur dans le champs de saisi et la somme des anciennes valeurs, et il va effacer le champs de saisi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    zoneDaffichage.setText(String.valueOf(resultat));
    ca va afficher le resultat final.
    quelle partie t'as pas bien compris?
    qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.

  5. #5
    Membre habitué Avatar de yakanet
    Homme Profil pro
    Inscrit en
    Décembre 2005
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Décembre 2005
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    L'idéal est d'utiliser l'analyse syntaxique avec des programmes comme yacc qui va analyser ta chaine de caractère et calculer l'expression mathématique correspondante. Il me semble avoir entendu sur ce forum qu'il existait un interpreteur synataxique en java (mais jamais essayé)

  6. #6
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    Juste un petit conseil: évite d'avoir antant de code redondant ...

    pour la création de tes boutons une seule fonction suffirait si tu lui passe en paramètre les valeurs qui change....

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par let_me_in
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    resultat+=new Integer(add).floatValue();
    add.setText("");
    a chaque fois que le bouton + est "clique", ca va additionner la valeur dans le champs de saisi et la somme des anciennes valeurs, et il va effacer le champs de saisi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    zoneDaffichage.setText(String.valueOf(resultat));
    ca va afficher le resultat final.
    quelle partie t'as pas bien compris?
    ok merci maintenant c'est un peu plus claire...
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par saod
    Juste un petit conseil: évite d'avoir antant de code redondant ...

    pour la création de tes boutons une seule fonction suffirait si tu lui passe en paramètre les valeurs qui change....
    oui jai penser quil y avais surement un autre moyen mais comme sa ne fais que une semaine que je fais du java voila koi lol

    mais merci !
    Il y a 10 types de personnes sur la planète. Ceux qui comprennent le binaire et ceux qui ne le comprennent pas...

Discussions similaires

  1. Programme de machine à calculer
    Par Invité dans le forum Contribuez
    Réponses: 3
    Dernier message: 20/11/2017, 00h07
  2. [AC-2007] Calcul du degré de rapprochement (Matching level) entre enregistrements
    Par Madimed dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/06/2009, 03h56
  3. Epsilon machine et son calcul
    Par feynman dans le forum Fortran
    Réponses: 3
    Dernier message: 04/05/2009, 08h23
  4. [Système] system de parent calcul de level
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 03/07/2007, 11h53

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