Voiture en Mouvement :
-
Upload
faizazouari283 -
Category
Documents
-
view
217 -
download
0
Transcript of Voiture en Mouvement :
-
8/14/2019 Voiture en Mouvement :
1/15
Voiture en mouvement :
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Voiture extends Applet implements Runnable, ActionListener {
Thread processus =null;
String commande="Start";
int e=0,test=0,temps_s=0,temps_m=0;double t1=0;
Button arret,marche;
Label tmp1,tmp2;
public void init(){
add(marche = new Button ("Stop")); marche.addActionListener(this);
add(tmp1= new Label("0"));add(tmp2= new Label("0"));
}
public void actionPerformed(ActionEvent e){
commande = e.getActionCommand();
repaint();
}
public void start() {
if (processus == null) {processus = new Thread(this);
processus.start();
}
}
public void run() {
while (processus!=null) {
if(e>200)e=-50;e++;
if(temps_s>=59)
{
t1=0;temps_m++;
}
t1=t1+0.05;
temps_s=(int)t1;repaint();
try{processus.sleep(50);
} catch (InterruptedException e){}
}
}
public void paint(Graphics g)
{
if (commande.equals("Start"))
{
marche.setLabel("Stop");processus.resume();
}
if (commande.equals("Stop")){
marche.setLabel("Start");
processus.suspend();
}
String b=Integer.toString(temps_m);
tmp2.setText(b);
String a=Integer.toString(temps_s);
tmp1.setText(a);
int y,x;
1
-
8/14/2019 Voiture en Mouvement :
2/15
y=getSize().height/2;
x=y-22;
int z=x-15;
g.drawRect(e+3,x,53,15 );g.setColor(Color.red);
g.fillRect(e+3,x,53,15 );
int cordX[]={e+10,e+15,e+45,e+50};
int cordY[]={x,z,z,x};g.setColor(Color.black);
g.drawPolygon(cordX, cordY, 4);
g.setColor(Color.red);
g.fillPolygon(cordX, cordY, 4);g.setColor(Color.black);
g.fillOval(e+10, y-7, 14, 14);
g.fillOval(e+38, y-7, 14, 14);g.drawRect(e+17, x-12, 10, 10);
g.drawRect(e+32, x-12, 10, 10);
g.setColor(Color.white);
g.fillRect(e+17, x-12, 10, 10);g.fillRect(e+32, x-12, 10, 10);
}
}
Excution :
Incrmentre et dcrementer :
import java.awt.*;import java.awt.event.*;
import java.applet.*;
public class Bouton1 extends Appletimplements ActionListener {
int nombre;public void init() {
nombre=0;
//cration du bouton
Button b = new Button("Ajouter");//insertion du bouton
add(b);
//choix de l'couteur
b.addActionListener(this);}
/******************************************** Gestion des vnements lis au systme
*******************************************/
public void actionPerformed(ActionEvent evt) {
if (evt.getActionCommand().equals("Ajouter")) {nombre++;
repaint();
}
}
/**********************************************
** Affichage du nombre d'appuis sur le bouton
***********************************************/public void paint(Graphics g) {
g.drawString(""+nombre, 50, 80);
}}
Excution :
2
-
8/14/2019 Voiture en Mouvement :
3/15
Calculette :
import java.applet.*;
import java.awt.*;import java.awt.event.*;
import java.text.*;
public class Calculette extends Applet
implements ActionListener {
/* Maximum de caractres */int maxTouches=10;
/* Zone rsultat */
Label result = new Label("0");
/* Variables */
String a = ""; /* premire entre */double c = 0; /* rsultat */
/* drapeaux */
int num_press = 0; /* nombre de touches presses */boolean op_press = false; /* opration en cours */
boolean decimal=false; /* point dcimal dj crit */
char last_op = '='; /* code opration en cours */
/* format dcimal */
DecimalFormat df;
public void init() {DecimalFormatSymbols dfs=new DecimalFormatSymbols();
dfs.setDecimalSeparator('.');
// format d'affichage des nombres
df=new DecimalFormat("0.######",dfs);
Panel mp = new Panel();
Panel p;
result.setBackground(Color.black);
result.setForeground(Color.green);
result.setAlignment(Label.RIGHT);result.setFont(new Font("Monospace",Font.BOLD,12));
setLayout(new BorderLayout());
mp.setLayout(new GridLayout(6,1,2,2));
add("Center",mp);mp.add(result);
p=new Panel();
p.setLayout(new GridLayout(1,4,2,2));
addButton(p,"7");addButton(p,"8");
addButton(p,"9");addButton(p,"/");mp.add(p);
p=new Panel();
p.setLayout(new GridLayout(1,4,2,2));
addButton(p,"4");addButton(p,"5");
addButton(p,"6");
addButton(p,"*");
mp.add(p);p=new Panel();
p.setLayout(new GridLayout(1,4,2,2));
addButton(p,"1");
addButton(p,"2");addButton(p,"3");
addButton(p,"-");
mp.add(p);p=new Panel();p.setLayout(new GridLayout(1,4,2,2));
3
-
8/14/2019 Voiture en Mouvement :
4/15
addButton(p,"0");
addButton(p,".");
addButton(p,"C");
addButton(p,"+");mp.add(p);
p=new Panel();
p.setLayout(new GridLayout(1,1));
addButton(p,"=");mp.add(p);
}
void addButton(Panel p, String name) {Button b=new Button(name);
b.addActionListener(this);
p.add(b);}
public Insets getInsets() {
return new Insets(4,4,4,4);}
void affiche(double d) {
if (Double.isNaN(d)) result.setText("ERREUR");else {
double t=Math.floor(d*1000000+0.5)/1000000;
result.setText(df.format(t));
}}
public void actionPerformed(ActionEvent e) {
String com=e.getActionCommand();switch (com.charAt(0)) {
case 'C' :
a="";c=0.0;
num_press=0;
op_press=false;
decimal=false;affiche(c);
break;
case '=' :perform_calculation();
num_press=0;
op_press=false;
last_op='=';
decimal=false;affiche(c);
break;
case '+': case '-': case '*' : case '/':
perform_calculation();
affiche(c);num_press=0;
decimal=false;
last_op=com.charAt(0);
op_press=true;break;
default :
if (num_press==0) a="";if (num_press
-
8/14/2019 Voiture en Mouvement :
5/15
public void perform_calculation() {
if (op_press) {
switch(last_op) {
case '+':if (!Double.isNaN(c)) c=c+strToDouble(a);
break;
case '-':
if (!Double.isNaN(c)) c=c-strToDouble(a);break;
case '*':
if (!Double.isNaN(c)) c=c*strToDouble(a);
break;case '/':
if (!Double.isNaN(c)) {
if (strToDouble(a)==0) c=Double.NaN;else c=c/strToDouble(a);
}
break;
default:}
op_press=false;
last_op=' ';
}else {
c=strToDouble(result.getText());
}
}
}
import java.awt.*;
import java.awt.event.*;
public class AlcApp extends Frame
implements WindowListener {
public AlcApp() {
setBackground(Color.lightGray);
Calculette c=new Calculette();c.init();
//setLayout(new BorderLayout());
add(c,"Center");
setTitle("Calc");//setSize(138,152);
setResizable(false);
pack();}
/**
* Gestion de l'vnement Case de fermeture
*/public void windowClosing(WindowEvent event) {
dispose();
System.out.println("Fermeture de l'application.");System.exit(0);
}
public void windowClosed(WindowEvent event) {}
public void windowDeiconified(WindowEvent event) {}
public void windowIconified(WindowEvent event) {}
public void windowActivated(WindowEvent event) {}
public void windowDeactivated(WindowEvent event) {}
public void windowOpened(WindowEvent event) {}
public static void main(String args[]) {
System.out.println("Dmarrage de l'application...");
AlcApp fr=new AlcApp();
fr.show();fr.addWindowListener(fr);
}
}
Excution :
5
-
8/14/2019 Voiture en Mouvement :
6/15
Conversion Dinar/Euro :
import java.awt.*;
import java.awt.event.*;import java.applet.*;
public class AppEuro extends Frame {
public AppEuro() {
setTitle("Conversion Euro");
addWindowListener(new ferme());
Euro a=new Euro();add(a);
a.init();
}
public static void main(String args[]) {
System.out.println("Chargement en cours...");
AppEuro app=new AppEuro();
app.setBounds(200,100,300,200);app.show();
}
class ferme extends WindowAdapter {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}}
}
import java.awt.*;
import java.awt.event.*;
import java.text.DecimalFormat;
public class Euro extends java.applet.Applet implements ActionListener {
static double valEuro=1.68;//Valeur Euro en DinarsTextField dinar;
TextField euro;
public void init() {Panel pan;
Label lab;
setBackground(Color.lightGray);
pan=new Panel();lab=new Label("CONVERSION Dinars/EUROS");
lab.setFont(new Font("SansSerif",Font.BOLD,16));
pan.add(lab);add(pan);
pan=new Panel();
lab=new Label("Somme en Dinars : ");
lab.setFont(new Font("Monospaced",Font.PLAIN,12));pan.add(lab);
dinar=new TextField(10);
dinar.addActionListener(this);
pan.add(dinar);add(pan);
pan=new Panel();
6
-
8/14/2019 Voiture en Mouvement :
7/15
lab=new Label("Equivalent Euros : ");
lab.setFont(new Font("Monospaced",Font.PLAIN,12));
pan.add(lab);
euro=new TextField(10);euro.setEditable(false);
euro.setBackground(Color.yellow);
pan.add(euro);
add(pan);pan=new Panel();
Button bouton=new Button("Convertir");
bouton.addActionListener(this);
pan.add(bouton);add(pan);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==dinar || e.getActionCommand().equals("Convertir")) {
try {
Double FR=new Double(dinar.getText());Double EU=new Double(FR.doubleValue()/valEuro);
DecimalFormat f=new DecimalFormat("#.00");
euro.setText(f.format(EU.doubleValue()));
} catch (Exception ex) {euro.setText("Erreur!");
}
}
}
public void paint(Graphics g) {
int largeur=getSize().width;
int hauteur=getSize().height;g.setColor(Color.gray);
g.draw3DRect(0,0,largeur-1,hauteur-1,true);
g.draw3DRect(4,4,largeur-9,hauteur-9,false);}
public Insets getInsets() {
return new Insets(6,6,6,6);}
}
Excution :
Nombre Secret :
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class PlusMoins extends Applet
implements ActionListener {
static int maxEssais=10;
Label rep=new Label();
Label essai=new Label("Essai");
int numEssai;int nombreSecret;
TextField prop=new TextField();
boolean fini;
public void init() {
setBackground(Color.green);
7
-
8/14/2019 Voiture en Mouvement :
8/15
setLayout(new BorderLayout(8,8));
Label titre=new Label("LE NOMBRE SECRET");
titre.setAlignment(Label.CENTER);
titre.setFont(new Font("SansSerif",Font.BOLD,16));titre.setBackground(Color.yellow);
add(BorderLayout.NORTH,titre);
Panel centre=new Panel();
add(BorderLayout.CENTER,centre);centre.setLayout(new GridLayout(1,2,8,8));
TextArea regle=new TextArea("",6,20,TextArea.SCROLLBARS_VERTICAL_ONLY);
String S="L'ordinateur a choisi un nombre entre 0 et 100.";
S=S+"\n"+"Essaie de le retrouver en tenant compte des indications fournies.";S=S+"\n"+"Tu as droit 10 essais.";
regle.setText(S);
regle.setEditable(false);regle.setBackground(Color.yellow);
centre.add(regle);
centre.add(panelJeu());
}
public void start() {
numEssai=1;
essai.setText("Essai "+numEssai);rep.setText("----------");
prop.setText("");
prop.setEditable(true);
fini=false;nombreSecret=(int)Math.floor(Math.random()*101);
prop.requestFocus();
}
Panel panelJeu() {
Panel p=new Panel();
p.setLayout(new GridLayout(4,1,8,8));Panel ps=new Panel();
ps.setLayout(new GridLayout(1,2,8,8));
ps.add(essai);
ps.add(prop);prop.addActionListener(this);
p.add(ps);
ps=new Panel();
Button b=new Button("Vrifier");ps.add(b);
p.add(ps);
b.addActionListener(this);
p.add(rep);
rep.setBackground(Color.yellow);rep.setAlignment(Label.CENTER);
b=new Button("Nouveau jeu");b.addActionListener(this);
p.add(b);
return p;
}
public Insets getInsets() {
return new Insets(8,8,8,8);
}
void finJeu() {
fini=true;
prop.setEditable(false);}
void numEssaiSuivant() {numEssai++;
if (numEssai>maxEssais) {
finJeu();
rep.setText("Perdu. Rponse="+nombreSecret);}
else {
essai.setText("Essai "+numEssai);
prop.selectAll();}
}
void verif() {int pr;
try {
pr=Integer.parseInt(prop.getText());} catch (Exception e) {
pr=-1;
8
-
8/14/2019 Voiture en Mouvement :
9/15
rep.setText("Nombre mal crit.");
}
if (pr
-
8/14/2019 Voiture en Mouvement :
10/15
Button b=new Button(S);
b.addActionListener(this);
p.add(b);
}
public Insets getInsets() {
return new Insets(4,4,4,4);
}
String calcRep(char op) {
String S="";
try {double a=Double.valueOf(A.getText()).doubleValue();
double b=Double.valueOf(B.getText()).doubleValue();
double d=0;switch (op) {
case '+' :
d=a+b;
break;case '-' :
d=a-b;
break;
case '*' :d=a*b;
break;
case '/' :
d=a/b;break;
}
S=""+a+op+b+" = "+d;
} catch (Exception e) {S="Nombre mal crit.";
}
return S+'\n';}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Ajouter"))result.append(calcRep('+'));
else if (e.getActionCommand().equals("Soustraire"))
result.append(calcRep('-'));
else if (e.getActionCommand().equals("Multiplier"))result.append(calcRep('*'));
else if (e.getActionCommand().equals("Diviser"))
result.append(calcRep('/'));
}
}
Excution :
Menu Restaurent :
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Menu extends Applet
implements ActionListener {
TextArea zoneTexte;Choice c1=new Choice();
Choice c2=new Choice();
Choice c3=new Choice();
public void init() {
setLayout(new BorderLayout(4,4));add("North",panelNord());
zoneTexte=new TextArea();
10
-
8/14/2019 Voiture en Mouvement :
11/15
zoneTexte.setEditable(false);
add("Center",zoneTexte);
Button b=new Button("Enregistrer");
b.addActionListener(this);add("South",b);
}
Panel panelNord() {Panel rep=new Panel();
rep.setLayout(new GridLayout(3,2,2,2));
rep.add(new Label("Entre :"));
rep.add(c1);c1.addItem("Salade");
c1.addItem("Charcuterie");
c1.addItem("Saumon");rep.add(new Label("Viande :"));
rep.add(c2);
c2.addItem("Porc");
c2.addItem("Veau");c2.addItem("Boeuf");
c2.addItem("Mouton");
rep.add(new Label("Dessert :"));
rep.add(c3);c3.addItem("Fruits");
c3.addItem("Glace");
c3.addItem("Tarte");
return rep;}
public Insets getInsets() {
return new Insets(2,2,2,2);}
public void actionPerformed(ActionEvent e) {if (e.getActionCommand().equals("Enregistrer")) {
String S="Vous avez choisi : \n"+c1.getSelectedItem()+"\n"+
c2.getSelectedItem()+"\n"+c3.getSelectedItem()+"\n";
zoneTexte.setText(S);}
}
}
Excution :
Chronomtre :
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class Chrono extends Applet
implements Runnable {
private Thread chronometre;int speed=100;
private int ds=0; //dixime de seconde
public void init() {setBackground(Color.white);
setForeground(Color.blue);
setFont(new Font("SansSerif",Font.BOLD, getSize().height));addMouseListener(new Souris());
}
11
-
8/14/2019 Voiture en Mouvement :
12/15
// Mthode appele par le systme au dmarrage de l'applet
public void start () {
// Au dbut de l'applet, cration et dmarrage du chronomtreif (chronometre==null) {
chronometre=new Thread(this);
chronometre.start();
}}
public void run () {
while (chronometre!=null) {repaint ();
ds++;
try {chronometre.sleep(speed);
} catch (InterruptedException e) {}
}
}
// Mthode appele par le systme l'arrt de l'applet
public void stop () {
// A la fin de l'applet, arrt du chronometreif (chronometre!=null) {
chronometre.stop();
chronometre=null;
}}
public void paint (Graphics g) {
// Dessine le temps coul sous forme de h:mm:ss:dString S=ds/36000 +":"+(ds/6000)%6+(ds/600)%10
+":"+(ds/100)%6+(ds/10)%10+ ":" + ds%10;
FontMetrics fm=g.getFontMetrics();int largeur=fm.stringWidth(S);
int hauteur=fm.getHeight();
int x=(getSize().width-largeur)/2;
int y=(getSize().height-hauteur)/2;g.drawString(S, x, y+hauteur-fm.getDescent());
}
class Souris extends MouseAdapter {public void mouseClicked(MouseEvent e) {
if (chronometre==null) start();
else stop();
}
}
}
Excution :
Cercle :
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
publicclass Cercle extendsApplet
{
Circle c;
/*Cration d'un cercle inintial*/
publicvoid init()
{
c=new Circle();
c.initialize(50,50);addMouseListener(new ML());
}
12
-
8/14/2019 Voiture en Mouvement :
13/15
/*Nouveau Cercle Lors d'un Clic souris*/
class ML extendsMouseAdapter
{
publicvoid mouseClicked(MouseEvent e)
{
c=new Circle();
c.initialize(e.getX(),e.getY());
repaint();
}
}
/*Redessine le nouveau cercle*/
publicvoid paint(Graphics g)
{
c.draw(g);
}/*Classe de Gestion du cercle*/
class Circle
{
Color color;
int x;
int y;
/*Dessine un cercle*/
void draw(Graphics g)
{
g.setColor(this.color);
g.fillOval(this.x-20, this.y-20, 40, 40);
}
/*initialise un cercle rouge*/
void initialize(int x,int y)
{
color=Color.red;this.x=x;
this.y=y;
}
}
}
Dessin :
import java.applet.Applet;
import java.awt.*;
import java.util.Random;
publicclass DrawIt extends Applet
{
private CheckboxGroup choixDessin = new CheckboxGroup (); private Panel zoneDessin = new DrawItComponent (choixDessin);
publicvoid init ()
{
// Choix d'un layout BorderLayout (FlowLayout par dfaut)
setLayout (new BorderLayout ());
// Cration de boutons radios permettant de choisir
// la fonction de dessin utiliser
Panel panel = new Panel ();
panel.setLayout (new GridLayout (7, 1));
panel.add (new Checkbox ("Ligne", choixDessin, true));
panel.add (new Checkbox ("Rectangle", choixDessin, false));
panel.add (new Checkbox ("Rectangle 3D", choixDessin, false));
panel.add (new Checkbox ("Polygone", choixDessin, false));
panel.add (new Checkbox ("Ovale", choixDessin, false));
panel.add (new Checkbox ("Arc de cercle", choixDessin, false));
panel.add (new Checkbox ("Texte", choixDessin, false));
// Ajout droite des boutons radios
add ("East", panel);
// Ajout au centre de la zone de saisie
add ("Center", zoneDessin);
}
}
// Classe DrawItComponent
class DrawItComponent extends Panel
{
privateintxDebut, yDebut,
xFin, yFin;
private CheckboxGroup choixDessin;
private Color couleurDessin;
privateint angleDebut, angle;
private String typeDessin = "";
// Constructeur
13
-
8/14/2019 Voiture en Mouvement :
14/15
DrawItComponent (CheckboxGroup choixDessin)
{
this.choixDessin = choixDessin;
}
// Mthodes mouseDown (), mouseDrag (), mouseUp ()
// appeles l'enfoncement du bouton de la souris,
// au dplacement du pointeur, et au relchement du bouton
publicboolean mouseDown (Event evt, int x, int y)
{
xDebut = x;
yDebut = y;
dessinerElastique (x , y);
returntrue;
}
publicboolean mouseDrag (Event evt, int x, int y)
{
// Effacement du rectangle aux anciennes coordonnes
// puis dessin d'un nouveau rectangle aux coordonnes courantes
dessinerElastique (xFin, yFin);
dessinerElastique (x, y);
returntrue;
}
publicboolean mouseUp (Event evt, int x, int y)
{
// Effacement du dernier rectangle dessin
dessinerElastique (xFin, yFin);
// Rcupration du type de dessin demand, d'une couleur et deux angles
// et redessin du composant typeDessin = choixDessin.getCurrent ().getLabel ();
Random generateur = new Random ();
couleurDessin = new Color (generateur.nextFloat (),
generateur.nextFloat (),
generateur.nextFloat ());
angleDebut = generateur.nextInt () % 360;
angle = generateur.nextInt () % 360;
repaint ();
returntrue;
}
// Mthode dessinerElastique () : mmorise les coordonnes
// courantes, puis trace un rectangle en mode XOR
privatevoid dessinerElastique (int xFin, int yFin)
{
this.xFin = xFin;
this.yFin = yFin;Graphics gc = getGraphics ();
gc.setXORMode (getBackground ());
gc.drawRect (Math.min (xDebut, xFin), Math.min (yDebut, yFin),
Math.abs (xFin - xDebut), Math.abs (yFin - yDebut));
}
// Mthode appele la mise jour du composant
publicvoid paint (Graphics gc)
{
// Slection de la couleur
gc.setColor (couleurDessin);
// Appel de la mthode de dessin suivant le type de dessin choisi
int x = Math.min (xDebut, xFin);
int y = Math.min (yDebut, yFin);
int largeur = Math.abs (xFin - xDebut);
int hauteur = Math.abs (yFin - yDebut); if (typeDessin.equals ("Ligne"))
gc.drawLine (x, y, x + largeur, y + hauteur);
elseif (typeDessin.equals ("Rectangle"))
gc.fillRect (x, y, largeur, hauteur);
elseif (typeDessin.equals ("Rectangle 3D"))
gc.fill3DRect (x, y, largeur, hauteur, true);
elseif (typeDessin.equals ("Polygone"))
{
int xPoints [ ] = {x, x , x + largeur, x + largeur};
int yPoints [ ] = {y, y + hauteur, y, y + hauteur};
gc.fillPolygon (xPoints, yPoints, xPoints.length);
}
elseif (typeDessin.equals ("Ovale"))
gc.fillOval (x, y, largeur, hauteur);
elseif (typeDessin.equals ("Arc de cercle"))
{
gc.drawOval (x, y, largeur, hauteur);
gc.fillArc (x, y, largeur, hauteur, angleDebut, angle);
}
14
-
8/14/2019 Voiture en Mouvement :
15/15
elseif (typeDessin.equals ("Texte"))
{
gc.setFont (new Font ("Helvetica", Font.PLAIN, hauteur));
FontMetrics tailles = gc.getFontMetrics ();
gc.drawString ("Texte", x, y + tailles.getAscent ()
+ tailles.getLeading ());
}
}
}
Excution :
15