SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Mini Projet
Calculatrice scientifique
Préparé par : Mouradi Mohammed
Encadré par : R. EL AYACHI
Module :JAVA
Année Universitaire : 2015/2016 LST_Info
1
Interfaces graphiques Java: AWT et Swing
1 Introduction
1.1 Qu’est-ce qu’une interface graphique (GUI)? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2
1.2 Le but des Paquetages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 La différence entre AWT et Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Composants et Conteneurs de AWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.5 Les gestionnaires de disposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Schéma d’une calculatrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
1.7 Code source d’une calculatrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2
Introduction
Une interface graphique ou GUI (Graphical User Interface) est:
✓ Une couche applicative destinée à fournir aux utilisateurs d’ordinateurs un
moyen attractif et facile pour interagir avec un programme.
✓ L’interface d’un programme qui profite des capacités graphiques d’un
ordinateur pour le rendre plus facile d’utilisation. Des interfaces graphiques
bien conçues évitent à l’utilisateur d’avoir à apprendre de complexes langages
de commandes.
✓ Un ensemble d’écrans de présentations qui utilisent des éléments graphiques
(tels boutons et icônes) pour rendre un programme plus facile d’utilisation.
3
Paquetages
Le paquetage java.awt : Contient toutes les classes pour créer des interfaces
graphiques et pour dessiner des graphiques et des images .
Le paquetage java.awt.event : Interfaces et classes de gestion des différents
événements associés aux composants AWT.
Le paquetage javax.swing : est un assemblage de composants
(components en anglais) affichés dans une fenêtre ou un autre type de conteneur
(Container). L’utilisateur actionne ces composants pour piloter un programme.
La différence entre AWT et Swing
AWT (Abstract Windowing Toolkit)
➢ 1ère version, a joué un rôle certain pour le succès de Java
➢ toujours utilisée : gestionnaires d’événements et de dispositions
➢ composants lourds, liés à des composants natifs.
Swing
➢ composants beaucoup plus nombreux et complexes composants légers,
100% Java
➢ composants Swing pas tous supportés par les anciennes.
Frame, Panel,
Button,..
JFrame, JPanel,
JButton,..
4
Quelque Composante et
Conteneurs de AWT
• Conteneurs fenêtres :
➢ Frame : Fenêtre avec barre de titre et bords.
• Conteneurs intermédiaires:
➢ Panel : Panneau vide utilisé pour la mise en page des
composants à l'écran.
• Composants de saisie :
➢ TextField : Champ de saisie simple.
• Composants de choix :
➢ Button : Bouton.
5
Les gestionnaires de disposition
le FlowLayout choisi par défaut pour les Applet et Panel, place les
composants de gauche à droite et de haut en bas,
setLayout(new FlowLayout()) indique que le conteneur courant utilise
un gestionnaire FlowLayout, et add(nom du composant) indique que
l’on rajoute le composant cité.
le BorderLayout est choisi par défaut pour les Window, Dialog et
Frame et dispose les composants selon 5 attributs (North, South,
West, East et Center. add() a 2 paramètres : la position et le
composant à rajouter.
le GridLayout met chaque composant sur une case d’une grille dont
on donne la dimension à la création du gestionnaire. Cela se passe de
la même manière que pour un FlowLayout, mais les composants
6
Schéma d’une calculatrice
scientifique
7
//Calculatrice scientifique
import java.awt.* ;
import java.awt.Component;
import java.awt.Button;
import java.awt.Panel;
import java.awt.Frame;
import java.awt.event.*;
import java.awt.LayoutManager;
import java.awt.GridLayout;
import java.awt.Dimension;
// La classe formulaire
class Calculatrice extends Frame implements ActionListener {
TextField ecran=new TextField(38);
private int y = 0, z = 0;
// Les opérations de calcule + * - /
private char operation;
private double temp, temp1, result, a;
Button b1=new Button("On");
Button b2=new Button("+");
Button b3=new Button("-");
Button b4=new Button("*");
Button b5=new Button("/");
Button b6=new Button("=");
Button b7=new Button("0");
Button b8=new Button("1");
Button b9=new Button("2");
Button b10=new Button("3");
Button b11=new Button("4");
8
Button b12=new Button("5");
Button b13=new Button("6");
Button b14=new Button("7");
Button b15=new Button("8");
Button b16=new Button("9");
Button b17=new Button(".");
Button b18=new Button("x2");
Button b19=new Button("x3");
Button b20=new Button("1/x");
Button b21=new Button("sqrt");
Button b22=new Button("sin");
Button b23=new Button("cos");
Button b24=new Button("tan");
Button b25=new Button("log");
Button b26=new Button("log10");
Button b27=new Button("exp");
FlowLayout f = new FlowLayout();
// Dimensions de la bouton
Dimension dim=new Dimension(90,40);
// Le constructeur
public Calculatrice (String titre) {
super(titre);
// gestionnaire de la mise en page
setLayout(f);
// On ajoute le texte dans l’interface
add(ecran);
Font font = new Font("Arial", Font.BOLD,20);
// On définit la couleur de texte sur le bouton
b1.setForeground(Color.red);b2.setForeground(Color.red);b3.setForeground(Color.red);
b4.setForeground(Color.red);b5.setForeground(Color.red);b6.setForeground(Color.red);
9
b18.setForeground(Color.green);b19.setForeground(Color.green);
b20.setForeground(Color.green);b21.setForeground(Color.green);
b22.setForeground(Color.green);b23.setForeground(Color.green);
b24.setForeground(Color.green);b25.setForeground(Color.green);
b26.setForeground(Color.green);b27.setForeground(Color.green);
// On ajoute des boutons dans l’interface
add(b1);add(b2);add(b3);add(b4);add(b5);add(b6);add(b7);add(b8);add(b9);add(b10);
add(b11);add(b12);add(b13);add(b14);add(b15);add(b16);add(b17);add(b18);add(b19);
add(b20);add(b21);add(b22);add(b23);add(b24);add(b25);add(b26);add(b27);
// On inscrit les boutons
b1.addActionListener(this);b2.addActionListener(this b3.addActionListener(this);
b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this) ;
b7.addActionListener(this); b8.addActionListener(this);b9.addActionListener(this);
b10.addActionListener(this);b11.addActionListener(this); b12.addActionListener(this);
b13.addActionListener(this);b14.addActionListener(this);b15.addActionListener(this);
b16.addActionListener(this); b17.addActionListener(this);b18.addActionListener(this);
b19.addActionListener(this);b20.addActionListener(this);b21.addActionListener(this);
b22.addActionListener(this);b23.addActionListener(this);b24.addActionListener(this);
b25.addActionListener(this);b26.addActionListener(this);b27.addActionListener(this);
/* On définit la taille des boutons.setFont(font) on définit le type d’écriture et la taille de
l’écriture*/
b1.setPreferredSize(dim);b1.setFont(font);b2.setPreferredSize(dim);b2.setFont(font);
b3.setPreferredSize(dim);b3.setFont(font); b4.setPreferredSize(dim);b4.setFont(font);
b5.setPreferredSize(dim);b5.setFont(font);b6.setPreferredSize(dim);b6.setFont(font);
b7.setPreferredSize(dim);b7.setFont(font);b8.setPreferredSize(dim);b8.setFont(font);
b9.setPreferredSize(dim);b9.setFont(font); b10.setPreferredSize(dim);b10.setFont(font);
b11.setPreferredSize(dim);b11.setFont(font);b12.setPreferredSize(dim);b12.setFont(font);
b13.setPreferredSize(dim);b13.setFont(font);b14.setPreferredSize(dim);b14.setFont(font);
b15.setPreferredSize(dim);b15.setFont(font); b16.setPreferredSize(dim);b16.setFont(font);
b17.setPreferredSize(dim);b17.setFont(font);b18.setPreferredSize(dim);b18.setFont(font);
b19.setPreferredSize(dim);b19.setFont(font);b20.setPreferredSize(dim);b20.setFont(font);
10
b21.setPreferredSize(dim);b21.setFont(font); b22.setPreferredSize(dim);b22.setFont(font);
b23.setPreferredSize(dim);b23.setFont(font);b24.setPreferredSize(dim);b24.setFont(font);
b25.setPreferredSize(dim);b25.setFont(font); b26.setPreferredSize(dim);b26.setFont(font);
b27.setPreferredSize(dim);b27.setFont(font);
}
// pour traiter l’événements envoyé par l'interface ActionListener
public void actionPerformed(ActionEvent e){
ecran.setFont(new Font("DIALOG",Font.LAYOUT_RIGHT_TO_LEFT+Font.BOLD,20));
// renvoie l'objet qui a généré l'événement
if (e.getSource()==b1) {
ecran.setText("");
}
if (e.getSource()==b2) {
temp = Double.parseDouble(ecran.getText());
operation = '+';
ecran.setText("");
}
if (e.getSource()==b3) {
temp = Double.parseDouble(ecran.getText());
operation = '-';
ecran.setText("");
}
if (e.getSource()==b4) {
temp = Double.parseDouble(ecran.getText());
operation = '*';
ecran.setText("");
}
if (e.getSource()==b5) {
temp = Double.parseDouble(ecran.getText());
operation = '/';
ecran.setText("");
11
}
if (e.getSource()==b7) {
if (z == 0) {
ecran.setText(ecran.getText() + "0");
} else {
ecran.setText("");
// Lecture de bouton saisie (9)
ecran.setText(ecran.getText() + "0");
z = 0;
}
}
if (e.getSource()==b8) {
if (z == 0) {
ecran.setText(ecran.getText() + "1");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "1");
z = 0;
}
}
if (e.getSource()==b9) {
if (z == 0) {
ecran.setText(ecran.getText() + "2");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "2");
z = 0;
}
}
if (e.getSource()==b10) {
if (z == 0) {
12
ecran.setText(ecran.getText() + "3");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "3");
z = 0;
}
}
if (e.getSource()==b11) {
if (z == 0) {
ecran.setText(ecran.getText() + "4");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "4");
z = 0;
}
}
if (e.getSource()==b12) {
if (z == 0) {
ecran.setText(ecran.getText() + "5");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "5");
z = 0;
}
}
if (e.getSource()==b13) {
if (z == 0) {
ecran.setText(ecran.getText() + "6");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "6");
13
z = 0;
}
}
if (e.getSource()==b14) {
if (z == 0) {
ecran.setText(ecran.getText() + "7");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "7");
z = 0;
}
}
if (e.getSource()==b15) {
if (z == 0) {
ecran.setText(ecran.getText() + "8");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "8");
z = 0;
}
}
if (e.getSource()==b16) {
if (z == 0) {
ecran.setText(ecran.getText() + "9");
} else {
ecran.setText("");
ecran.setText(ecran.getText() + "9");
z = 0;
}
}
if (e.getSource()==b17) {
14
if (y == 0) {
ecran.setText(ecran.getText() + ".");
y = 1;
} else {
ecran.setText(ecran.getText());
}
}
if (e.getSource()==b18) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.pow(Double.parseDouble(ecran.getText()), 2);
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b19) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.pow(Double.parseDouble(ecran.getText()), 3);
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b20) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = 1 / Double.parseDouble(ecran.getText());
ecran.setText("");
15
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b21) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.sqrt(Double.parseDouble(ecran.getText()), 3);
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b22) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.sin(Double.parseDouble(ecran.getText()), 3);
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b23) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.cos(Double.parseDouble(ecran.getText()), 3);
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b24) {
16
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.tan(Double.parseDouble(ecran.getText()), 3);
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b25) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.log(Double.parseDouble(ecran.getText()), 3);
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b26) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.log10(Double.parseDouble(ecran.getText()), 3);
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b27) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
a = Math.exp(Double.parseDouble(ecran.getText()), 3);
17
ecran.setText("");
ecran.setText(ecran.getText() + a);
}
}
if (e.getSource()==b6) {
if (ecran.getText().equals("")) {
ecran.setText("");
} else {
temp1 = Double.parseDouble(ecran.getText());
switch (operation) {
case '+':
result = temp + temp1;
break;
case '-':
result = temp - temp1;
break;
case '/':
result = temp / temp1;
break;
case '*':
result = temp * temp1;
break;
}
ecran.setText("");
ecran.setText(ecran.getText() + result);
z=1;
}
}
}
}
public class MiniProjet{
18
public static void main(String args[ ]) {
Calculatrice c= new Calculatrice ("Calculatrice scientifique");
c.setSize(490, 350); //préciser les dimensions de la fenêtre.
c.setResizable(false); /* si false on ne peut pas modifier la fenêtre
si true on peut modifier la fenêtre */
c.setVisible(true); // Rendre le fenêtre visible
}
}

Contenu connexe

Tendances

UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
Rapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilelRapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilelBelwafi Bilel
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Georges Amichia
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLwebreaker
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Ayoub Rouzi
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classeAmir Souissi
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Mehdi Hamime
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITLina Meddeb
 
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...HORIYASOFT
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceLilia Sfaxi
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Mohammed JAITI
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Mohamed Boubaya
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
PFA : Développement d'une application mobile/desktop pour la configuration et...
PFA : Développement d'une application mobile/desktop pour la configuration et...PFA : Développement d'une application mobile/desktop pour la configuration et...
PFA : Développement d'une application mobile/desktop pour la configuration et...Khadija LASSOUED
 

Tendances (20)

UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Rapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilelRapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilel
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique
 
Rapport pfa
Rapport pfaRapport pfa
Rapport pfa
 
Telecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQLTelecharger Exercices corrigés PL/SQL
Telecharger Exercices corrigés PL/SQL
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
diagramme de classe
diagramme de classediagramme de classe
diagramme de classe
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
 
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
 
Chp4 - Diagramme de Séquence
Chp4 - Diagramme de SéquenceChp4 - Diagramme de Séquence
Chp4 - Diagramme de Séquence
 
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
Rapport de mon First Projet Web à l'Ecole Supérieure de Technologie de SAFI -...
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
PFA : Développement d'une application mobile/desktop pour la configuration et...
PFA : Développement d'une application mobile/desktop pour la configuration et...PFA : Développement d'une application mobile/desktop pour la configuration et...
PFA : Développement d'une application mobile/desktop pour la configuration et...
 

Similaire à Calculatrice scientifique en JAVA(AWT)

Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphinenoussa krid
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 
La conception et la realisation d'un mediaplayer
La conception et la realisation d'un mediaplayerLa conception et la realisation d'un mediaplayer
La conception et la realisation d'un mediaplayeratef bentahar
 
Chapitre 9 Conception d’interface graphique.pdf
Chapitre 9 Conception d’interface graphique.pdfChapitre 9 Conception d’interface graphique.pdf
Chapitre 9 Conception d’interface graphique.pdfAdamIMLOUL
 
Pentaho: comparatif CE versus EE
Pentaho: comparatif CE versus EEPentaho: comparatif CE versus EE
Pentaho: comparatif CE versus EESylvain Decloix
 
Créez vos propres plugins qgis
Créez vos propres plugins qgisCréez vos propres plugins qgis
Créez vos propres plugins qgisGildas MFOUMBI
 
Symbian Os User Interfaces
Symbian Os User InterfacesSymbian Os User Interfaces
Symbian Os User InterfacesFatma Ghachem
 
20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerierbessem ellili
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NETAziz Darouichi
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationTunisie collège
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxbpmana
 
L’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketL’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketStéphane Legrand
 

Similaire à Calculatrice scientifique en JAVA(AWT) (20)

JavaSwing.pdf
JavaSwing.pdfJavaSwing.pdf
JavaSwing.pdf
 
Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphine
 
Tp python
Tp pythonTp python
Tp python
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
La conception et la realisation d'un mediaplayer
La conception et la realisation d'un mediaplayerLa conception et la realisation d'un mediaplayer
La conception et la realisation d'un mediaplayer
 
Chapitre 9 Conception d’interface graphique.pdf
Chapitre 9 Conception d’interface graphique.pdfChapitre 9 Conception d’interface graphique.pdf
Chapitre 9 Conception d’interface graphique.pdf
 
Pentaho: comparatif CE versus EE
Pentaho: comparatif CE versus EEPentaho: comparatif CE versus EE
Pentaho: comparatif CE versus EE
 
GeneralitesGUI1.pdf
GeneralitesGUI1.pdfGeneralitesGUI1.pdf
GeneralitesGUI1.pdf
 
Créez vos propres plugins qgis
Créez vos propres plugins qgisCréez vos propres plugins qgis
Créez vos propres plugins qgis
 
Symbian Os User Interfaces
Symbian Os User InterfacesSymbian Os User Interfaces
Symbian Os User Interfaces
 
20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier
 
Cours Visual Basic.NET
Cours Visual Basic.NETCours Visual Basic.NET
Cours Visual Basic.NET
 
Cours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitationCours informatique ordinateur et système d'exploitation
Cours informatique ordinateur et système d'exploitation
 
WPF.pptx
WPF.pptxWPF.pptx
WPF.pptx
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptx
 
5.ateliers avancés
5.ateliers avancés5.ateliers avancés
5.ateliers avancés
 
Développement informatique : Programmation graphique
Développement informatique : Programmation graphiqueDéveloppement informatique : Programmation graphique
Développement informatique : Programmation graphique
 
Windev
WindevWindev
Windev
 
L’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacketL’environnement de programmation fonctionnelle DrRacket
L’environnement de programmation fonctionnelle DrRacket
 
Swing
SwingSwing
Swing
 

Dernier

Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Coursebenezerngoran
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsJaouadMhirach
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 

Dernier (20)

Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Chapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon CoursChapitre 2 du cours de JavaScript. Bon Cours
Chapitre 2 du cours de JavaScript. Bon Cours
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 

Calculatrice scientifique en JAVA(AWT)

  • 1. Mini Projet Calculatrice scientifique Préparé par : Mouradi Mohammed Encadré par : R. EL AYACHI Module :JAVA Année Universitaire : 2015/2016 LST_Info
  • 2. 1 Interfaces graphiques Java: AWT et Swing 1 Introduction 1.1 Qu’est-ce qu’une interface graphique (GUI)? . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 1.2 Le but des Paquetages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 La différence entre AWT et Swing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 Composants et Conteneurs de AWT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 1.5 Les gestionnaires de disposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.6 Schéma d’une calculatrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 1.7 Code source d’une calculatrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
  • 3. 2 Introduction Une interface graphique ou GUI (Graphical User Interface) est: ✓ Une couche applicative destinée à fournir aux utilisateurs d’ordinateurs un moyen attractif et facile pour interagir avec un programme. ✓ L’interface d’un programme qui profite des capacités graphiques d’un ordinateur pour le rendre plus facile d’utilisation. Des interfaces graphiques bien conçues évitent à l’utilisateur d’avoir à apprendre de complexes langages de commandes. ✓ Un ensemble d’écrans de présentations qui utilisent des éléments graphiques (tels boutons et icônes) pour rendre un programme plus facile d’utilisation.
  • 4. 3 Paquetages Le paquetage java.awt : Contient toutes les classes pour créer des interfaces graphiques et pour dessiner des graphiques et des images . Le paquetage java.awt.event : Interfaces et classes de gestion des différents événements associés aux composants AWT. Le paquetage javax.swing : est un assemblage de composants (components en anglais) affichés dans une fenêtre ou un autre type de conteneur (Container). L’utilisateur actionne ces composants pour piloter un programme. La différence entre AWT et Swing AWT (Abstract Windowing Toolkit) ➢ 1ère version, a joué un rôle certain pour le succès de Java ➢ toujours utilisée : gestionnaires d’événements et de dispositions ➢ composants lourds, liés à des composants natifs. Swing ➢ composants beaucoup plus nombreux et complexes composants légers, 100% Java ➢ composants Swing pas tous supportés par les anciennes. Frame, Panel, Button,.. JFrame, JPanel, JButton,..
  • 5. 4 Quelque Composante et Conteneurs de AWT • Conteneurs fenêtres : ➢ Frame : Fenêtre avec barre de titre et bords. • Conteneurs intermédiaires: ➢ Panel : Panneau vide utilisé pour la mise en page des composants à l'écran. • Composants de saisie : ➢ TextField : Champ de saisie simple. • Composants de choix : ➢ Button : Bouton.
  • 6. 5 Les gestionnaires de disposition le FlowLayout choisi par défaut pour les Applet et Panel, place les composants de gauche à droite et de haut en bas, setLayout(new FlowLayout()) indique que le conteneur courant utilise un gestionnaire FlowLayout, et add(nom du composant) indique que l’on rajoute le composant cité. le BorderLayout est choisi par défaut pour les Window, Dialog et Frame et dispose les composants selon 5 attributs (North, South, West, East et Center. add() a 2 paramètres : la position et le composant à rajouter. le GridLayout met chaque composant sur une case d’une grille dont on donne la dimension à la création du gestionnaire. Cela se passe de la même manière que pour un FlowLayout, mais les composants
  • 8. 7 //Calculatrice scientifique import java.awt.* ; import java.awt.Component; import java.awt.Button; import java.awt.Panel; import java.awt.Frame; import java.awt.event.*; import java.awt.LayoutManager; import java.awt.GridLayout; import java.awt.Dimension; // La classe formulaire class Calculatrice extends Frame implements ActionListener { TextField ecran=new TextField(38); private int y = 0, z = 0; // Les opérations de calcule + * - / private char operation; private double temp, temp1, result, a; Button b1=new Button("On"); Button b2=new Button("+"); Button b3=new Button("-"); Button b4=new Button("*"); Button b5=new Button("/"); Button b6=new Button("="); Button b7=new Button("0"); Button b8=new Button("1"); Button b9=new Button("2"); Button b10=new Button("3"); Button b11=new Button("4");
  • 9. 8 Button b12=new Button("5"); Button b13=new Button("6"); Button b14=new Button("7"); Button b15=new Button("8"); Button b16=new Button("9"); Button b17=new Button("."); Button b18=new Button("x2"); Button b19=new Button("x3"); Button b20=new Button("1/x"); Button b21=new Button("sqrt"); Button b22=new Button("sin"); Button b23=new Button("cos"); Button b24=new Button("tan"); Button b25=new Button("log"); Button b26=new Button("log10"); Button b27=new Button("exp"); FlowLayout f = new FlowLayout(); // Dimensions de la bouton Dimension dim=new Dimension(90,40); // Le constructeur public Calculatrice (String titre) { super(titre); // gestionnaire de la mise en page setLayout(f); // On ajoute le texte dans l’interface add(ecran); Font font = new Font("Arial", Font.BOLD,20); // On définit la couleur de texte sur le bouton b1.setForeground(Color.red);b2.setForeground(Color.red);b3.setForeground(Color.red); b4.setForeground(Color.red);b5.setForeground(Color.red);b6.setForeground(Color.red);
  • 10. 9 b18.setForeground(Color.green);b19.setForeground(Color.green); b20.setForeground(Color.green);b21.setForeground(Color.green); b22.setForeground(Color.green);b23.setForeground(Color.green); b24.setForeground(Color.green);b25.setForeground(Color.green); b26.setForeground(Color.green);b27.setForeground(Color.green); // On ajoute des boutons dans l’interface add(b1);add(b2);add(b3);add(b4);add(b5);add(b6);add(b7);add(b8);add(b9);add(b10); add(b11);add(b12);add(b13);add(b14);add(b15);add(b16);add(b17);add(b18);add(b19); add(b20);add(b21);add(b22);add(b23);add(b24);add(b25);add(b26);add(b27); // On inscrit les boutons b1.addActionListener(this);b2.addActionListener(this b3.addActionListener(this); b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this) ; b7.addActionListener(this); b8.addActionListener(this);b9.addActionListener(this); b10.addActionListener(this);b11.addActionListener(this); b12.addActionListener(this); b13.addActionListener(this);b14.addActionListener(this);b15.addActionListener(this); b16.addActionListener(this); b17.addActionListener(this);b18.addActionListener(this); b19.addActionListener(this);b20.addActionListener(this);b21.addActionListener(this); b22.addActionListener(this);b23.addActionListener(this);b24.addActionListener(this); b25.addActionListener(this);b26.addActionListener(this);b27.addActionListener(this); /* On définit la taille des boutons.setFont(font) on définit le type d’écriture et la taille de l’écriture*/ b1.setPreferredSize(dim);b1.setFont(font);b2.setPreferredSize(dim);b2.setFont(font); b3.setPreferredSize(dim);b3.setFont(font); b4.setPreferredSize(dim);b4.setFont(font); b5.setPreferredSize(dim);b5.setFont(font);b6.setPreferredSize(dim);b6.setFont(font); b7.setPreferredSize(dim);b7.setFont(font);b8.setPreferredSize(dim);b8.setFont(font); b9.setPreferredSize(dim);b9.setFont(font); b10.setPreferredSize(dim);b10.setFont(font); b11.setPreferredSize(dim);b11.setFont(font);b12.setPreferredSize(dim);b12.setFont(font); b13.setPreferredSize(dim);b13.setFont(font);b14.setPreferredSize(dim);b14.setFont(font); b15.setPreferredSize(dim);b15.setFont(font); b16.setPreferredSize(dim);b16.setFont(font); b17.setPreferredSize(dim);b17.setFont(font);b18.setPreferredSize(dim);b18.setFont(font); b19.setPreferredSize(dim);b19.setFont(font);b20.setPreferredSize(dim);b20.setFont(font);
  • 11. 10 b21.setPreferredSize(dim);b21.setFont(font); b22.setPreferredSize(dim);b22.setFont(font); b23.setPreferredSize(dim);b23.setFont(font);b24.setPreferredSize(dim);b24.setFont(font); b25.setPreferredSize(dim);b25.setFont(font); b26.setPreferredSize(dim);b26.setFont(font); b27.setPreferredSize(dim);b27.setFont(font); } // pour traiter l’événements envoyé par l'interface ActionListener public void actionPerformed(ActionEvent e){ ecran.setFont(new Font("DIALOG",Font.LAYOUT_RIGHT_TO_LEFT+Font.BOLD,20)); // renvoie l'objet qui a généré l'événement if (e.getSource()==b1) { ecran.setText(""); } if (e.getSource()==b2) { temp = Double.parseDouble(ecran.getText()); operation = '+'; ecran.setText(""); } if (e.getSource()==b3) { temp = Double.parseDouble(ecran.getText()); operation = '-'; ecran.setText(""); } if (e.getSource()==b4) { temp = Double.parseDouble(ecran.getText()); operation = '*'; ecran.setText(""); } if (e.getSource()==b5) { temp = Double.parseDouble(ecran.getText()); operation = '/'; ecran.setText("");
  • 12. 11 } if (e.getSource()==b7) { if (z == 0) { ecran.setText(ecran.getText() + "0"); } else { ecran.setText(""); // Lecture de bouton saisie (9) ecran.setText(ecran.getText() + "0"); z = 0; } } if (e.getSource()==b8) { if (z == 0) { ecran.setText(ecran.getText() + "1"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "1"); z = 0; } } if (e.getSource()==b9) { if (z == 0) { ecran.setText(ecran.getText() + "2"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "2"); z = 0; } } if (e.getSource()==b10) { if (z == 0) {
  • 13. 12 ecran.setText(ecran.getText() + "3"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "3"); z = 0; } } if (e.getSource()==b11) { if (z == 0) { ecran.setText(ecran.getText() + "4"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "4"); z = 0; } } if (e.getSource()==b12) { if (z == 0) { ecran.setText(ecran.getText() + "5"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "5"); z = 0; } } if (e.getSource()==b13) { if (z == 0) { ecran.setText(ecran.getText() + "6"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "6");
  • 14. 13 z = 0; } } if (e.getSource()==b14) { if (z == 0) { ecran.setText(ecran.getText() + "7"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "7"); z = 0; } } if (e.getSource()==b15) { if (z == 0) { ecran.setText(ecran.getText() + "8"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "8"); z = 0; } } if (e.getSource()==b16) { if (z == 0) { ecran.setText(ecran.getText() + "9"); } else { ecran.setText(""); ecran.setText(ecran.getText() + "9"); z = 0; } } if (e.getSource()==b17) {
  • 15. 14 if (y == 0) { ecran.setText(ecran.getText() + "."); y = 1; } else { ecran.setText(ecran.getText()); } } if (e.getSource()==b18) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.pow(Double.parseDouble(ecran.getText()), 2); ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b19) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.pow(Double.parseDouble(ecran.getText()), 3); ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b20) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = 1 / Double.parseDouble(ecran.getText()); ecran.setText("");
  • 16. 15 ecran.setText(ecran.getText() + a); } } if (e.getSource()==b21) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.sqrt(Double.parseDouble(ecran.getText()), 3); ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b22) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.sin(Double.parseDouble(ecran.getText()), 3); ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b23) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.cos(Double.parseDouble(ecran.getText()), 3); ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b24) {
  • 17. 16 if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.tan(Double.parseDouble(ecran.getText()), 3); ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b25) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.log(Double.parseDouble(ecran.getText()), 3); ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b26) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.log10(Double.parseDouble(ecran.getText()), 3); ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b27) { if (ecran.getText().equals("")) { ecran.setText(""); } else { a = Math.exp(Double.parseDouble(ecran.getText()), 3);
  • 18. 17 ecran.setText(""); ecran.setText(ecran.getText() + a); } } if (e.getSource()==b6) { if (ecran.getText().equals("")) { ecran.setText(""); } else { temp1 = Double.parseDouble(ecran.getText()); switch (operation) { case '+': result = temp + temp1; break; case '-': result = temp - temp1; break; case '/': result = temp / temp1; break; case '*': result = temp * temp1; break; } ecran.setText(""); ecran.setText(ecran.getText() + result); z=1; } } } } public class MiniProjet{
  • 19. 18 public static void main(String args[ ]) { Calculatrice c= new Calculatrice ("Calculatrice scientifique"); c.setSize(490, 350); //préciser les dimensions de la fenêtre. c.setResizable(false); /* si false on ne peut pas modifier la fenêtre si true on peut modifier la fenêtre */ c.setVisible(true); // Rendre le fenêtre visible } }