lemarcain
عدد المساهمات : 1 تاريخ التسجيل : 31/01/2011
| موضوع: الة حاسبة بJAVA ادخلو الإثنين يناير 31, 2011 12:52 pm | |
| import javax.swing.*;//importer les class de java
import java.awt.GridLayout;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
import java.text.ParsePosition;
public class calc extends JFrame implements ActionListener{
//calc est un class eriter la proprité de class JFrame
JPanel contenuFenêtre;//jpanel pour ajouter les buttons +/-*0123456789
JTextField champAffichage;//zone de text pour la resultats de calcul
JButton bouton0;//composent button 0
JButton bouton1;
JButton bouton2;
JButton bouton3;
JButton bouton4;
JButton bouton5;
JButton bouton6;
JButton bouton7;
JButton bouton8;
JButton bouton9;
JButton boutonVirgule;
JButton boutonEgale,boutonPlus,boutonMoins,boutonDiviser,boutonMultiplier;
JPanel panneauChiffres;
char actionSélectionnée = ' ';//pour les get contenu de button // +, -, /, ou *
double résultatCourant = 0;
NumberFormat formatNombres = NumberFormat.getInstance();
// un objet capable de lire et présenter les nombres
calc() {
contenuFenêtre = new JPanel();
BorderLayout dispositionl = new BorderLayout();
contenuFenêtre.setLayout(dispositionl);
JPanel p=new JPanel();
p.setLayout(new GridLayout(2,1));
champAffichage = new JTextField(30);
p.add(champAffichage);
contenuFenêtre.add("North", p);
bouton0 = new JButton("0");
bouton1 = new JButton("1");
bouton2 = new JButton("2");
bouton3 = new JButton("3");
bouton4 = new JButton("4");
bouton5 = new JButton("5");
bouton6 = new JButton("6");
bouton7 = new JButton("7");
bouton8 = new JButton("8");
bouton9 = new JButton("9");
boutonVirgule = new JButton(",");
boutonEgale = new JButton("=");
boutonDiviser=new JButton("/");
boutonPlus=new JButton("+");
boutonMoins=new JButton("-");
panneauChiffres = new JPanel();
GridLayout disposition2 = new GridLayout(5,3,30,10);
panneauChiffres.setLayout(disposition2);
panneauChiffres.add(bouton1);
panneauChiffres.add(bouton2);
panneauChiffres.add(bouton3);
panneauChiffres.add(bouton4);
panneauChiffres.add(bouton5);
panneauChiffres.add(bouton6);
panneauChiffres.add(bouton7);
panneauChiffres.add(bouton8);
panneauChiffres.add(bouton9);
panneauChiffres.add(bouton0);
panneauChiffres.add(boutonVirgule);
panneauChiffres.add(boutonEgale);
panneauChiffres.add(boutonDiviser);
panneauChiffres.add(boutonMoins);
panneauChiffres.add(boutonPlus);
bouton0.addActionListener(this);
bouton1.addActionListener(this);
bouton2.addActionListener(this);
bouton3.addActionListener(this);
bouton4.addActionListener(this);
bouton5.addActionListener(this);
bouton6.addActionListener(this);
bouton7.addActionListener(this);
bouton8.addActionListener(this);
bouton9.addActionListener(this);
boutonMoins.addActionListener(this);
boutonPlus.addActionListener(this);
boutonVirgule.addActionListener(this);
boutonEgale.addActionListener(this);
boutonDiviser.addActionListener(this);
contenuFenêtre.add("Center", panneauChiffres);
setTitle("Calculatrice");
setContentPane(contenuFenêtre);
pack();
setVisible(true);
}
public void actionPerformed(ActionEvent événement) {
// Retrouve la source de l'action
JButton boutonCliqué = (JButton) événement.getSource();
String texteChampAffichage =
champAffichage.getText();
double valeurAffichée = 0;
// Retrouve le nombre présenté dans le champ texte
// s'il n'est pas vide
if (!"".equals(texteChampAffichage)) {
valeurAffichée =
// analyse la chaîne de caractères
formatNombres.parse(
texteChampAffichage,
new ParsePosition(0) /* ne sert pas */).
// puis donne sa valeur en tant que double
doubleValue();
}
Object sourceEvénement = événement.getSource();
// Pour chaque bouton d'action, mémorise l'action
// sélectionnée, +, -, /, ou *, stocke la valeur courante
// dans la variable résultatCourant et vide le champ
// Affichage avant l'entrée du nombre suivant
if (sourceEvénement == boutonPlus) {
actionSélectionnée = '+';
résultatCourant = valeurAffichée;
champAffichage.setText("");
}
else if (sourceEvénement ==boutonMoins) {
actionSélectionnée = '-';
résultatCourant = valeurAffichée;
champAffichage.setText("");
}
else if (sourceEvénement == boutonDiviser) {
actionSélectionnée = '/';
résultatCourant = valeurAffichée;
champAffichage.setText("");
}
else if (sourceEvénement == boutonMultiplier) {
actionSélectionnée = '*';
résultatCourant = valeurAffichée;
champAffichage.setText("");
}
else if (sourceEvénement == boutonEgale) {
// Effectue les calculs en fonction de actionSélectionnée
// Modifie la valeur de la variable résultatCourant
// et affiche le résultat
if (actionSélectionnée == '+') {
résultatCourant += valeurAffichée;
// Convertit le résultat en le transformant en String
// à l'aide de formatNombres
champAffichage.setText(
formatNombres.format(résultatCourant));
}
else if (actionSélectionnée == '-') {
résultatCourant -= valeurAffichée;
champAffichage.setText(
formatNombres.format(résultatCourant));
}
else if (actionSélectionnée == '/') {
résultatCourant /= valeurAffichée;
if(valeurAffichée==0)
{
champAffichage.setText("Div.par zéro impossible");
}
else
{
champAffichage.setText(
formatNombres.format(résultatCourant));
}
}
else if (actionSélectionnée == '*') {
résultatCourant *= valeurAffichée;
champAffichage.setText(
formatNombres.format(résultatCourant));
}
}
else {
// Pour tous les boutons numériques, ajoute le libellé
// du bouton au champ texte
String libelléBoutonCliqué = boutonCliqué.getText();
champAffichage.setText(texteChampAffichage +
libelléBoutonCliqué);
}
}
public static void main(String[] args) {
calc ca = new calc();
}
} | |
|