Mini projet calculatrice avec JAVA
Mini projet calculatrice avec JAVA
Cet article propose en détaille un mini projet calculatrice avec JAVA
Vous pourrez télécharger le fichier au format zip il contient le code sources avec support en PDF.
Pour réaliser ce projet vous aurez besoin d'Installer:
- JAVA 7, 8, ou 9
- De configurer JAVA apres l'avoir Installer
- D'installer un IDE: BLUE J ou NetBEANS, je vous conseille BLUE J
La fenêtre de la Calculatrice sera composée de :
Six boutons :
- Addition;
- Multiplication;
- Division;
- EXP;
- Puissance;
- Square rot
Trois zones de textes :
- pour l'entré du 1er nombre
- pour l'entré du 2ème nombre
- pour afficher le résultat
extrait du code:
Réaliser un mini projet Calculatrice avec JAVA.
Pour réaliser ce projet vous aurez besoin d'Installer:
=>JAVA 7, 8, ou 9
=> De configurer JAVA apres l'avoir Installer
=> D'installer un IDE: BLUE J ou NetBEANS, je vous conseille BLUE J
La fenêtre de la Calculatrice sera composer de 6 lignes et 2 colonnes d'une barre d'action permettant d'effacer les entrées
Premièrement
Nous allons Importer un LIBRARIES:
import javax.swing.*;
import javax.swing.ImageIcon;
import java.util.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
Deuxièmement
Nous allons déclarer les variables :
//Declaration des variables, Variable Declaration
JPanel p1; // Panel Principale, Main Panel
JLabel l;
JButton A,B,C,D,E,F;
JTextField t,t1,t2;
JFrame f;
ImageIcon i;
Image e;
//Declaration des variables, Variable Déclaration
Troisièmement
Nous allons écrire le code servant a créer la barre de menu d'action:
// JMenu bar
JMenuBar JMenu=new JMenuBar ();
JMenu m= new JMenu ("Option");// JMenu
JMenu.add(m);
// Ajouter Item (Element dans le meno Class)
JMenuItem erase= new JMenuItem ("Erase");
m.add(erase);
Quatrièmement
Nous allons écrire les codes qui serviront a construire les 3 lignes de la fenêtre calculatrice, n'oubliez surtout pas l'application comporte 6 lignes et 2 colonnes. Ça ceux sont les codes pour les 3 premières lignes:
//Ajout dans Le Jpanel 1 et creation de Jtext
p1=new JPanel();// creation du Panel1
p1.setLayout(new GridLayout(6,2,10,10)); //4,2,10,10 , // Creation de la structure, du shema de la fenetre
//Ajout de la 1ere ligne, le Titre plus le champs
l=new JLabel("Entrez le 1er nombre!!! ");
p1.add(l); // ajout de la ligne dans le Jpanel Principal
t=new JTextField(20);
p1.add(t); // ajout du champs dans le Jpanel Principal
// 2eme
l=new JLabel("Entrez le 2eme nombre!!! ");
p1.add(l);
t1=new JTextField(20);
p1.add(t1);
// 3eme Resultat
l=new JLabel("Resultat: ");
p1.add(l);
t2=new JTextField(20);
t2.setBackground (Color.BLACK);
t2.setForeground (Color.GREEN);
t2.setEnabled(false);
p1.add(t2);
Cinquièmement nous allons ajouter les 3 autres lignes:
// Action Buton
A=new JButton("Additon");
p1.add(A); // ajout du 1er button dans le Jpanel Principal
B=new JButton("Multiplication");
p1.add(B);
C=new JButton("Division");
p1.add("SOUTH",C);
D=new JButton("EXP");
p1.add(D);
E=new JButton("Puissance");
p1.add(E);
F=new JButton("Square root");
p1.add(F);
// Action Button
Sixièmement
Maintenant nous allons mettre des actions sur les Boutons pour qu'ils fassent les calculs:
//action Addition
// Gestion des evenments sur le button d'addition,
A.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
double b=Double.parseDouble(ad2);
String w=" "+(t+b);
t2.setText(w);
}
catch(NumberFormatException er){}
}
});// Gestion des evenments sur le button d'addition,
// Gestion des evenments sur le button d'Multiplication,
//Action Multiplication
B.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
double b=Double.parseDouble(ad2);
String w=" "+(t*b);
t2.setText(w);
}
catch(NumberFormatException er){}
}
}); // Gestion des evenments sur le button d'Multiplication,
//Action Division
// Gestion des evenments sur le button Division,
C.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
double b=Double.parseDouble(ad2);
String w=" "+(t/b);
t2.setText(w);
}
catch(NumberFormatException er){}
}
});// Gestion des evenments sur le button Division,
//Exponetiel
// Gestion des evenments sur le button Exponentiel,
D.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
String w=" "+Math.exp(t);
t2.setText(w);
}
catch(NumberFormatException er){}
}
});// Gestion des evenments sur le button Exponentiel,
//Puissance
// Gestion des evenments sur le button Puissance,
E.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
double b=Double.parseDouble(ad2);
String w=" "+Math.pow(t,b);
t2.setText(w);
}
catch(NumberFormatException er){}
}
}); // Gestion des evenments sur le button Puissance,
//Racine Carrer
// Gestion des evenments sur le button racine Carrer,
F.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
double t=Double.parseDouble(ad);
String w=" "+Math.sqrt(t);
t2.setText(w);
}
catch(NumberFormatException er){}
}
}); //Racine Carrer
// Gestion des evenments sur le button racine Carrer,
// Gestion des evenments button qui efface les inputs, Button bar which erase the TextField
erase.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
t.setText("");
t1.setText("");
t2.setText("");
}
catch(NumberFormatException er){}
}
});// Gestion des evenments button qui efface les inputs, Button bar which erase the TextField
Septièmement
Nous allons ecrire le code qui gere la fenetre. C'est a dire celui responsanble de construitre la fenêtre avec le titre de la fenetre l'image d'icone etc.
Voici le code complet:
import javax.swing.*;
import javax.swing.ImageIcon;
import java.util.*;
import java.awt.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Additon2
{
//Declaration des variables, Variable Declaration
JPanel p1; // Panel Principale, Main Panel
JLabel l;
JButton A,B,C,D,E,F;
JTextField t,t1,t2;
JFrame f;
ImageIcon i;
Image e;
//Declaration des variables, Variable Declaration
//Constructeur
public Additon2(){
// JMenu bar
JMenuBar JMenu=new JMenuBar ();
JMenu m= new JMenu ("Option");// JMenu
JMenu.add(m);
// Ajouter Item (Element dans le meno Class)
JMenuItem erase= new JMenuItem ("Erase");
m.add(erase);
//Ajout dans Le Jpanel 1 et creation de Jtext
p1=new JPanel();// creation du Panel1
p1.setLayout(new GridLayout(6,2,10,10)); //4,2,10,10 , // Creation de la structure, du shema de la fenetre
//Ajout de la 1ere ligne, le Titre plus le champs
l=new JLabel("Entrez le 1er nombre!!! ");
p1.add(l); // ajout de la ligne dans le Jpanel Principal
t=new JTextField(20);
p1.add(t); // ajout du champs dans le Jpanel Principal
// 2eme
l=new JLabel("Entrez le 2eme nombre!!! ");
p1.add(l);
t1=new JTextField(20);
p1.add(t1);
// 3eme Resultat
l=new JLabel("Resultat: ");
p1.add(l);
t2=new JTextField(20);
t2.setBackground (Color.BLACK);
t2.setForeground (Color.GREEN);
t2.setEnabled(false);
p1.add(t2);
// Action Buton
A=new JButton("Additon");
p1.add(A); // ajout du 1er button dans le Jpanel Principal
B=new JButton("Multiplication");
p1.add(B);
C=new JButton("Division");
p1.add("SOUTH",C);
D=new JButton("EXP");
p1.add(D);
E=new JButton("Puissance");
p1.add(E);
F=new JButton("Square root");
p1.add(F);
// Action Buton
//action Addition
// Gestion des evenments sur le button d'addition,
A.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
double b=Double.parseDouble(ad2);
String w=" "+(t+b);
t2.setText(w);
}
catch(NumberFormatException er){}
}
});// Gestion des evenments sur le button d'addition,
// Gestion des evenments sur le button d'Multiplication,
//Action Multiplication
B.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
double b=Double.parseDouble(ad2);
String w=" "+(t*b);
t2.setText(w);
}
catch(NumberFormatException er){}
}
}); // Gestion des evenments sur le button d'Multiplication,
//Action Division
// Gestion des evenments sur le button Division,
C.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
double b=Double.parseDouble(ad2);
String w=" "+(t/b);
t2.setText(w);
}
catch(NumberFormatException er){}
}
});// Gestion des evenments sur le button Division,
//Exponetiel
// Gestion des evenments sur le button Exponentiel,
D.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
String w=" "+Math.exp(t);
t2.setText(w);
}
catch(NumberFormatException er){}
}
});// Gestion des evenments sur le button Exponentiel,
//Puissance
// Gestion des evenments sur le button Puissance,
E.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
String ad2= t1.getText();
double t=Double.parseDouble(ad);
double b=Double.parseDouble(ad2);
String w=" "+Math.pow(t,b);
t2.setText(w);
}
catch(NumberFormatException er){}
}
}); // Gestion des evenments sur le button Puissance,
//Racine Carrer
// Gestion des evenments sur le button racine Carrer,
F.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
String ad= t.getText();
double t=Double.parseDouble(ad);
String w=" "+Math.sqrt(t);
t2.setText(w);
}
catch(NumberFormatException er){}
}
}); //Racine Carrer
// Gestion des evenments sur le button racine Carrer,
// Gestion des evenments button qui efface les inputs, Button bar which erase the TextField
erase.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
try{
t.setText("");
t1.setText("");
t2.setText("");
}
catch(NumberFormatException er){}
}
});// Gestion des evenments button qui efface les inputs, Button bar which erase the TextField
//Fenetre
f=new JFrame("Calculatrice JBEJ");
f.setVisible(true);
f.getContentPane().add("Center",p1);//Positionement Au Centre
f.setResizable(false); // Permet de ne pas redimentionner la fenetre
f.setJMenuBar(JMenu);// JMenu bar horizontal
i=new ImageIcon("r.jpg");
e=i.getImage();
p1.setBorder(BorderFactory.createLineBorder(Color.BLACK,4));
l.setForeground(Color.BLUE);
f.setSize(300,250);
f.setLocationRelativeTo(null);
}
public static void main(String [] args){
new Additon2 ();
}
}