Résolveur d'équations du second degré (version applet)

Soyez le premier à donner votre avis sur cette source.

Vue 16 085 fois - Téléchargée 519 fois

Description

Le même résolveur d'équation du second degré que le premier que j'ai créé mais cette fois ci dans une applet.

Source / Exemple :


import java.awt.*;   //pour les fonctions graphiques, par exemple TextField, Button, Label
import java.awt.event.*;

public class Second_Degre extends java.applet.Applet    implements ActionListener
{
 double A,B,C,Delta,x1,x2;

 TextField Texta= new TextField("",10);   //Zone de texte pour a
 TextField Textb= new TextField("",10);   //Zone de texte pour b
 TextField Textc= new TextField("",10);   //Zone de texte pour c
 TextField Textdelta= new TextField("",10);   //Zone de texte pour afficher delta
 Button Bvalider = new Button("Lancer le calcul");    //Boutton  de validation
 TextField Textx1 = new TextField("",10);    //Zone de texte pour x1
 TextField Textx2 = new TextField("",10);    //Zone de texte pour x2

 //Partage de l'applet en 5 Panel()
 Panel pant = new Panel();
 Panel pant2 = new Panel();
 Panel pan1 = new Panel();
 Panel pan2 = new Panel();
 Panel pan3 = new Panel();

 public void init()
{
//Une Label pour le titre dans le premier Panel
pant.add(new Label("Bienvenue sur le résolveur d'équations du second degré"));

//Une autre Label dans le second Panel
pant2.add(new Label("Entrez les valeurs de a b et c tel que ax²+bx+c=0"));

//3 Label et les trois Zones de texte pour a, b, c dans le troisième Panel
pan1.add(new Label("a="));
pan1.add(Texta);
pan1.add(new Label("b="));
pan1.add(Textb);
pan1.add(new Label("c="));
pan1.add(Textc);

//Ajout et définition des propriété du Boutton dasn le 4ème Panel
pan2.add(Bvalider);
Bvalider.addActionListener(this);        //Ajouter Bvalider à l'inteface Action Listener
Bvalider.setActionCommand("Calcul");     //texte sur le boutton

//3 Label et 3 Zones de texte pour l'affichage de delta, x1 , x2 dans le 5ème Panel
pan3.add(new Label("delta="));
pan3.add(Textdelta);
pan3.add(new Label("x1="));
pan3.add(Textx1);
pan3.add(new Label("x2="));
pan3.add(Textx2);

//Définition de la Position des Panels sur l'Applet
add("",pant);
add("",pant2);
add("",pan1);
add("",pan2);
add("",pan3);
}

//Fonction qui détecte si l'on a cliqué ou non sur Calcul
public void actionPerformed(ActionEvent evt)
{
if (evt.getActionCommand().equals("Calcul"))   //détecte un clique sur le boutton
Calcule();   //appel de la fonction Calcule
}

//Fonction de calcul des racines
public void Calcule()
{
A = Double.valueOf(Texta.getText()).doubleValue();   //Transforme les chaines String des zones
B = Double.valueOf(Textb.getText()).doubleValue();   //de texte en double afin de pouvoir
C = Double.valueOf(Textc.getText()).doubleValue();   // effectuer les calculs

Delta = (B*B) - 4*A*C;     //calcul de delta
Textdelta.setText(String.valueOf(Delta));     //affiche delta

x1 = (-B-Math.sqrt(Delta))/(2*A);   //calcul de x1
x2 = (B-Math.sqrt(Delta))/(2*A);    //calcul de x2
Textx1.setText(String.valueOf(x1));    //affiche x1
Textx2.setText(String.valueOf(x2));    //affiche x2
}

}

Conclusion :


Voici le code à inscrire dans la page web pour que l'applet s'affiche correctement.
<applet code="Second_Degre.class" height="200" width="400">

J'explique un peu le code:
Second_Degre extends java.applet.Applet définie une classe dérivée de java.applet.Applet
afin d'indiquer au compilateur qu'il s'agit d'une applet

implements Action Listener définit une interface qui sert au Boutton Bvalider

La présentation est gérée par des panels, on en déclare 5, il servent à
définir la position de chaque élément sur le Panel sans celà les éléments seraient
affichés dans leur ordre d'addition.
La déscrition de chacun des panels est incluse dans le code.
En ce qui concerne le positionnement de chaque Panel sur l'applet,
le premier et en haut, le dernier en bas , je vous laisse deviner pour les autres.

En ce qui concerne les Label TextField et Button on les déclare comme ceci:
Element Nom = new Element(......)

Voilà c'est tout, le reste est expliqué dans le code.

Si vous avez des questions écrivez moi ;-)

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

DarkGate
Messages postés
7
Date d'inscription
lundi 13 mai 2002
Statut
Membre
Dernière intervention
14 mai 2002
-
Vive les mathématiques.
Merci de me simplifier la vie :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.