SlideShare une entreprise Scribd logo
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

Application Java swing : Gestion des réunion
Application Java swing : Gestion des réunionApplication Java swing : Gestion des réunion
Application Java swing : Gestion des réunion
Oussama Bessrour
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
Ines Ouaz
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
Ayoub Mkharbach
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Rapport PFE - Mise en place d'OpenERP pour IT-Consulting
Rapport PFE - Mise en place d'OpenERP pour IT-ConsultingRapport PFE - Mise en place d'OpenERP pour IT-Consulting
Rapport PFE - Mise en place d'OpenERP pour IT-Consulting
Mohamed Cherkaoui
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Anas Riahi
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
Hosni Mansour
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
slimyaich3
 
Cours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateurCours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateur
ENSET, Université Hassan II Casablanca
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
Amir Souissi
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
Mireille Blay-Fornarino
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
ENSET, Université Hassan II Casablanca
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEOussama Djerba
 
Algorithmes de jeux
Algorithmes de jeuxAlgorithmes de jeux
Algorithmes de jeux
Mohamed Heny SELMI
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
Ghizlane ALOZADE
 
Les règles de passage
Les règles de passageLes règles de passage
Les règles de passage
marwa baich
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
Anouar Kacem
 
guide PFE GE GM.pdf
guide PFE GE GM.pdfguide PFE GE GM.pdf
guide PFE GE GM.pdf
DoniaMANAI
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
MehdiOuqas
 

Tendances (20)

Application Java swing : Gestion des réunion
Application Java swing : Gestion des réunionApplication Java swing : Gestion des réunion
Application Java swing : Gestion des réunion
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Rapport PFE - Mise en place d'OpenERP pour IT-Consulting
Rapport PFE - Mise en place d'OpenERP pour IT-ConsultingRapport PFE - Mise en place d'OpenERP pour IT-Consulting
Rapport PFE - Mise en place d'OpenERP pour IT-Consulting
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Cours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateurCours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateur
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Uml & cas d'utilisation
Uml & cas d'utilisationUml & cas d'utilisation
Uml & cas d'utilisation
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEE
 
Algorithmes de jeux
Algorithmes de jeuxAlgorithmes de jeux
Algorithmes de jeux
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Les règles de passage
Les règles de passageLes règles de passage
Les règles de passage
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
guide PFE GE GM.pdf
guide PFE GE GM.pdfguide PFE GE GM.pdf
guide PFE GE GM.pdf
 
Rapport de stage développement informatique
Rapport de stage développement informatique Rapport de stage développement informatique
Rapport de stage développement informatique
 

Similaire à Calculatrice scientifique en JAVA(AWT)

JavaSwing.pdf
JavaSwing.pdfJavaSwing.pdf
JavaSwing.pdf
imanebirjmel
 
Tp python
Tp pythonTp python
Tp python
Slim Moalla
 
Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphine
noussa 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ènementielle
ECAM 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 mediaplayer
atef 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.pdf
AdamIMLOUL
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
IdrissaDembl
 
Pentaho: comparatif CE versus EE
Pentaho: comparatif CE versus EEPentaho: comparatif CE versus EE
Pentaho: comparatif CE versus EE
Sylvain Decloix
 
GeneralitesGUI1.pdf
GeneralitesGUI1.pdfGeneralitesGUI1.pdf
GeneralitesGUI1.pdf
KhairallahKhouja
 
Créez vos propres plugins qgis
Créez vos propres plugins qgisCréez vos propres plugins qgis
Créez vos propres plugins qgis
Gildas 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.NET
Aziz 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'exploitation
Tunisie collège
 
WPF.pptx
WPF.pptxWPF.pptx
WPF.pptx
AmeniRajhi1
 
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
bpmana
 
5.ateliers avancés
5.ateliers avancés5.ateliers avancés
5.ateliers avancés
Chaikhani Ibtissam
 
Cours_Dev_mobile_3eB_chap31254_23_24.pdf
Cours_Dev_mobile_3eB_chap31254_23_24.pdfCours_Dev_mobile_3eB_chap31254_23_24.pdf
Cours_Dev_mobile_3eB_chap31254_23_24.pdf
RimBenameur
 
Développement informatique : Programmation graphique
Développement informatique : Programmation graphiqueDéveloppement informatique : Programmation graphique
Développement informatique : Programmation graphique
ECAM Brussels Engineering School
 
Windev
WindevWindev

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

JavaSwing.pdf
JavaSwing.pdfJavaSwing.pdf
JavaSwing.pdf
 
Tp python
Tp pythonTp python
Tp python
 
Tp python dauphine
Tp python dauphineTp python dauphine
Tp python dauphine
 
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
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
 
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
 
Cours_Dev_mobile_3eB_chap31254_23_24.pdf
Cours_Dev_mobile_3eB_chap31254_23_24.pdfCours_Dev_mobile_3eB_chap31254_23_24.pdf
Cours_Dev_mobile_3eB_chap31254_23_24.pdf
 
Développement informatique : Programmation graphique
Développement informatique : Programmation graphiqueDéveloppement informatique : Programmation graphique
Développement informatique : Programmation graphique
 
Windev
WindevWindev
Windev
 

Dernier

Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
Txaruka
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
bibliogard
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
GiselaAlves15
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
LamoussaPaulOuattara1
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
Txaruka
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
bangalykaba146
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
frizzole
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
MedBechir
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
BenotGeorges3
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
schneiderbeatrice78
 

Dernier (14)

Festival de Cannes 2024.pptx
Festival      de      Cannes     2024.pptxFestival      de      Cannes     2024.pptx
Festival de Cannes 2024.pptx
 
Bilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptxBilan schéma pour réun concertation SDLP V4.pptx
Bilan schéma pour réun concertation SDLP V4.pptx
 
Exame DELF - A2 Francês pout tout public
Exame DELF - A2  Francês pout tout publicExame DELF - A2  Francês pout tout public
Exame DELF - A2 Francês pout tout public
 
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
Méthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptxMéthodologie de recherche et de rédaction de mémoire.pptx
Méthodologie de recherche et de rédaction de mémoire.pptx
 
4 expositions à voir à Paris.pptx
4   expositions    à   voir   à Paris.pptx4   expositions    à   voir   à Paris.pptx
4 expositions à voir à Paris.pptx
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Contrôle fiscale en république de guinée
Contrôle fiscale en république de guinéeContrôle fiscale en république de guinée
Contrôle fiscale en république de guinée
 
Calendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdfCalendrier du 3 juin 2024 et compte rendu.pdf
Calendrier du 3 juin 2024 et compte rendu.pdf
 
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdfCours SE - Gestion de la mémoire- Cours IG IPSET.pdf
Cours SE - Gestion de la mémoire- Cours IG IPSET.pdf
 
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
Newsletter SPW Agriculture en province du Luxembourg du 03-06-24
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
1-IMP-Tuto-Recherche simple avancée-V4-20240425-BS.pptx
 

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 } }