/*------------------------------------------------------*/ /* Akrout Hosni Telecom2 14/02/2005 */ /* */ /* nom du fichier: sinus.java */ /* */ /* fichier contenant la class Fenetre Dessin Sinus */ /*------------------------------------------------------*/ import javax.swing.*; import java.awt.event.*; import java.awt.*; import java.lang.Integer; /*----------------------------------------------*/ /* classe fenetre */ /*----------------------------------------------*/ class Fenetre extends JFrame { /*conctructeur*/ Fenetre(String titre,int pas) { super(titre); /*gere l'evenement quand on ferme la fenetre*/ addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { /*creation d'une boite de dialogue*/ int choix=0; String que_sortie="voulez vous quitter l'application?"; choix=JOptionPane.showConfirmDialog(null, que_sortie, "Question", JOptionPane.YES_NO_OPTION); if(choix==0) System.exit(0); } }); /*affichege de la fenetre avec son contenu*/ setBounds(100,100,300,300); setBackground(Color.GRAY); getContentPane().add(new Dessin(pas)); setVisible(true); } /*conctructeur*/ Fenetre(String titre) { super(titre); /*gere l'evenement quand on ferme la fenetre*/ addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { /*creation d'une boite de dialogue*/ int choix=0; String que_sortie="voulez vous quitter l'application?"; choix=JOptionPane.showConfirmDialog(null, que_sortie, "Question", JOptionPane.YES_NO_OPTION); if(choix==0) System.exit(0); } }); /*affichege de la fenetre avec son contenu*/ setBounds(100,100,300,300); setContentPane(new Dessin(100)); setVisible(true); } } /*----------------------------------------------*/ /* classe Dessin */ /*----------------------------------------------*/ class Dessin extends JPanel { /*donnes de classe*/ private int pas; Dessin(int pas) { this.pas=pas; } public void paintComponent(Graphics graph) { /*declaration des variables*/ int i=0; int a=0; double x_reel=0,y_reel=0; double x_pos=0; double largeur_reel=2*Math.PI; double longueur_reel=2; double largeur=getWidth(); double longeur=getHeight(); /*affichage de l'abscisse et de l'ordonner*/ graph.setColor(Color.BLUE); graph.drawLine((int)largeur/2,0,(int)largeur/2,(int)longeur); graph.drawLine(0,(int)longeur/2,(int)largeur,(int)longeur/2); /*calcul et affichage du sinus en rouge*/ graph.setColor(Color.RED); int deb_x=0; int deb_y=(int)longeur/2; while(x_pos