Applet

amine390 Messages postés 33 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 1 août 2011 - 29 mai 2007 à 20:20
sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 - 29 mai 2007 à 21:44
salut

voila mes amis la dernier version que j'ai realise avec mon projet vous pouvez la coriger mes j'ai une dernier pas  que j'ai encore pas resolu c'est  de trace des ligne sur mon panel noir  
merci d'avance


class cadre


package nouveau;


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.util.Vector;
public class Cadre1 extends JFrame implements Runnable{
JPanel contentPane;
Thread th;
  int inc=0;
 //gout tab=new gout[5];
  gout goutlette=new gout(100,getGraphics());
 //tab[0] = new gout(100,getGraphics());
  int temps=0;
  JPanel jPanel1 = new JPanel();
  JPanel jPanel2 = new JPanel();


  JPanel jPanel3 = new JPanel();
  JLabel val_E = new JLabel();
  JLabel value=new JLabel();
  JPanel jpanel7=new JPanel();
  JSlider jSlider1 = new JSlider();
  JPanel jPanel4 = new JPanel();
  JPanel jPanel5 = new JPanel();
  JButton afficher = new JButton("Afficher");
  JLabel jLabel1 = new JLabel();
  JButton start = new JButton("Start");
  JButton stop = new JButton("Stop");
  JPanel jPanel6 = new JPanel();
  chrono chrono=new chrono();
  /****constructeur par defaut***/
  public Cadre1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      this.jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }


  /*************initialisation des elements graphique de la frame**********************/
  private void jbInit() throws Exception  {


  this.setSize(new Dimension(908, 500));
    this.setTitle("Millikan");
    /////////////////****************paint**********************///////////////////////////


 


  ///*****************initialisation du jpanel1****************///
    jPanel1.setDebugGraphicsOptions(0);
    jPanel1.setToolTipText("");
    jPanel1.setBounds(new Rectangle(5, 2, 339, 300));
    jPanel1.setLayout(null);
     jPanel1.setBackground(Color.black);
      afficher.addActionListener(new Cadre1_afficher_actionAdapter(this));
    jPanel6.setLayout(null);


    stop.addMouseMotionListener(new Cadre1_stop_mouseMotionAdapter(this));
    stop.addActionListener(new Cadre1_stop_actionAdapter(this));
    jPanel1.add(goutlette.goutte, null);


 


 




///////////////************esthitique du slider************//////////////////


    jSlider1 = new JSlider(JSlider.HORIZONTAL,0,300,0);
                    jSlider1.setMajorTickSpacing(20);
                    jSlider1.setMinorTickSpacing(10);
                    jSlider1.setPaintLabels(true);
                    jSlider1.setPaintTicks(true);
                    jSlider1.setPaintTrack(true);
                    jSlider1.setBounds(new Rectangle(0, 3, 400, 50));
                    jSlider1.addChangeListener(new SliderListener());
                    value.setText("valeur de voltmetre est :"+jSlider1.getValue());


 


        ///////////////*****************initialisation du jpanel2********************//////////
jPanel2.setLayout(new GridLayout(4,0));
 jLabel1.setBounds(new Rectangle(69, 52, 387, 30));


        start.setBackground(new Color(197, 210, 227));
   start.setFont(new java.awt.Font("Dialog", 3, 11));
   stop.setBackground(new Color(197, 210, 227));
   stop.setFont(new java.awt.Font("Dialog", 3, 11));
   afficher.setBackground(new Color(197, 210, 227));
   afficher.setFont(new java.awt.Font("Dialog", 3, 11));
   jPanel6.setBackground(new Color(222, 226, 231));
   jPanel5.setBackground(new Color(222, 226, 231));
   jPanel4.setBackground(new Color(222, 226, 231));
   jPanel3.setBackground(new Color(222, 226, 231));
   jSlider1.setBackground(new Color(197, 210, 227));
   jSlider1.setForeground(new Color(120, 150, 255));
   val_E.setBackground(new Color(222, 226, 231));




        jPanel3.setBounds(new Rectangle(10, 10, 433, 124));
  jPanel3.setLayout(null);
  val_E.setText("");
  val_E.setBounds(new Rectangle(-1, 31, 207, 32));
  jPanel4.setBounds(new Rectangle(-1, 136, 432, 144));
  jPanel4.setLayout(null);
  jPanel5.setBounds(new Rectangle(0, 312, 439, 186));
  jPanel5.setLayout(null);
  afficher.setBounds(new Rectangle(137, 11, 104, 36));
  start.setBounds(new Rectangle(208, 17, 85, 40));
  start.addActionListener(new cadre_start_actionAdapter(this));
  stop.setBounds(new Rectangle(30, 92, 82, 40));




  jPanel2.add(jPanel3, null);
      jPanel3.add(jSlider1, null);
      jSlider1.add(val_E, null);
    jPanel2.add(jPanel6, null);
    jpanel7.add(value,null);
    jPanel2.add(jPanel4, null);
    jPanel4.add(jLabel1, null);
    jPanel4.add(afficher, null);
    jPanel2.add(jPanel5, null);
    jPanel5.add(start, null);
    jPanel5.add(stop, null);
    jPanel6.add(chrono.chro, null);


 




  //////////////////********************regroupement dans le contentpane***********************/////////////////////
  contentPane = (JPanel) this.getContentPane();
  contentPane.setLayout(new GridLayout(0,2));
   contentPane.add(jPanel1);


  contentPane.add(jPanel2);


 


 




    if (th == null)    //test d'existence
   {  th= new Thread(this);  //création , this désigne l'applet
     th.start();}  // lancement de la méthode run( )
    //boule.print(getGraphics());
  }




  public void run(){
  while (true)       // boucle sans fin
  { try              //action à réaliser
     {
       System.out.println("la position x"+goutlette.centre.x+"posigou"+goutlette.centre.y);
       goutlette.movementdegout();
       goutlette.goutte.setBounds((int)goutlette.centre.x+12,(int)goutlette.centre.y,(2*goutlette.rayon),(2*goutlette.rayon));




       Thread.sleep(10);}  //pause de 1000 ms
    catch (InterruptedException e)
    { }
  }


}
///////////////************listener sur slider************//////////////////
        class SliderListener implements ChangeListener {
                              public void stateChanged(ChangeEvent e) {
                                      JSlider source = (JSlider) e.getSource();
                                      int value = (int)     source.getValue();
                                      goutlette.calcul_b((int)source.getValue());
                                     System.out.println("valeur est "+source.getValue()+"\n");
                                      //jLabel1.setText(source.getValue());


                              }
                      }
//////////////////////********************listeners  sur les buttons **********************/////////////////////////////////////


  //Redéfini, ainsi nous pouvons sortir quand la fenêtre est fermée
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }


  void start_actionPerformed(ActionEvent e) {
    //tabgout[inc].addElement(new gout(100,getGraphics()));
    //inc++;


    goutlette.goutte.setBackground(Color.white);
       goutlette.goutte.setForeground(Color.black);
       goutlette.goutte.setOpaque(true);
       goutlette.goutte.setPreferredSize(new Dimension(0, 0));
       goutlette.goutte.setText("");
       goutlette.goutte.setBounds(new Rectangle(0, 0, 50, 51));
       //th.start();
      // goutlette.td.start();
////////////////////MAMAMAMAMAMAMAMAMAMAMAM////////////////////////////////


  }


  void afficher_actionPerformed(ActionEvent e) {
    jLabel1.setText("les coordonne de la goutellete sont :("+goutlette.centre.x+","+goutlette.centre.y+")");


  }


  void stop_actionPerformed(ActionEvent e) {
          th.stop();
          goutlette.td.stop();


  }


 




}


class cadre_start_actionAdapter implements java.awt.event.ActionListener {
  Cadre1 adaptee;


  cadre_start_actionAdapter(Cadre1 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.start_actionPerformed(e);
  }
}


class Cadre1_afficher_actionAdapter implements java.awt.event.ActionListener {
  Cadre1 adaptee;


  Cadre1_afficher_actionAdapter(Cadre1 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.afficher_actionPerformed(e);
  }
}


class Cadre1_stop_mouseMotionAdapter extends java.awt.event.MouseMotionAdapter {
  Cadre1 adaptee;


  Cadre1_stop_mouseMotionAdapter(Cadre1 adaptee) {
    this.adaptee = adaptee;
  }


}


class Cadre1_stop_actionAdapter implements java.awt.event.ActionListener {
  Cadre1 adaptee;


  Cadre1_stop_actionAdapter(Cadre1 adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.stop_actionPerformed(e);
  }
}

///////////////////////////////////////////////class gout
/////////////////////////////////////////////////////////////////////////////
package nouveau;


import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.lang.Math;
import java.lang.*;
import java.io.*;
import java.util.Random;
import java.math.*;
import javax.swing.JOptionPane;
import javax.swing.Timer;
import java.awt.*;




  /*** creation de la class point ***/
class point{
  long  x;//abssice du point
  long y;//ordonne du point
  //constructeur par defaut de la class
  point() {


    y = 50;
  //x=250;
   while(x<110 || x>300) {
    Random x0=new Random();
    x =x0.nextInt() %1000;


    }


  }
  // constructeur par  copie
 point(point p){
   this.y = p.y;
   this.x=p.x;
 }
}




// creation de la class gout




  public class gout implements Runnable{// implementsActionListener {


  point centre ,origine;//declarration de deux point : centre indique l'enmplacement en cour  et origine celui de depart de la goutlette
  int  rayon;           //rayon de la goutlette
  int n;                //nombre de charge
  double masse;         // masse de la goutlette
  double a,b;           // constantes ajissent sur le movement de la goutlette
  ActionListener al;
  double T;             // chrono determine le temps ecouler des la creation de la goutlette
  malab goutte = new malab();
  Thread td;


  public gout(int val_u,Graphics k) {


    origine = new point();
    centre=new point(origine);
    while(rayon>5 || rayon<1){
       Random r=new Random();
       rayon= (int)((r.nextDouble())*10);
    }
    n=new Random().nextInt();
    System.out.println(rayon);               //pour tester
    System.out.println(Math.pow(rayon,3));   //pour tester
    System.out.println(4*(Math.PI/3)); //elle veut pas travailler avec cnt.sfer alors j'ai remplacer cette valeur avec sa valeur
    masse=Math.pow(rayon,3)*(4*(Math.PI/3));//il faut voir les unite darori
    System.out.println(masse);              //pour tester
    a=6*rayon*Math.PI*(18.5*Math.pow(10,-6))/masse;
    System.out.println(a);                    //pour tester
    this.calcul_b(val_u);
    goutte.setToolTipText("");
    goutte.setText("");
    goutte.print(k);
    if (td == null)    //test d'existence
  {  td= new Thread(this);  //création , this désigne la class
    td.start();}  // lancement de la méthode run( )


    //goutte.setBounds(origine.x, origine.y, (2*rayon), (2*rayon));
   }
/*
  public void setx(){
  double A;
  double B;
  int C;
  A=b*a*T.getDelay();
  B=b*Math.exp(-a*T.getDelay());
  C=origine.y-(int)b;
   centre.y=(int)A+(int)B+C;
  }
      */
public void movementdegout(){
         centre.y=(long)((b*a*T)+(b*Math.exp(-a*T))-b+origine.y);
         System.out.println("la vitesse:"+((b*a)+(-a*b*Math.exp(-a*T)))+"\n");
         System.out.println(centre.y);
       }
public void calcul_b(int u){
         b=((4/3*Math.PI*Math.pow(rayon,3)*(885-1.29))-(n*1.602*Math.pow(10,-19))*(u/0.006))*(1/masse);//il faut voir les unite
         System.out.println("la valeur de b:"+b);
       }
public long getvitesse(){
       return(0);


       }
       public void run(){
         while (true)       // boucle sans fin
         { try              //action à réaliser
           {
        T=T+10;
        this.movementdegout();
        Thread.sleep(1);
      }  //pause de 0 ms
     catch (InterruptedException e)
     { }
   }




       }
}

///////////////////////////////////////class malab//////////////////////////////////////////////

package nouveau;
import javax.swing.*;
import java.awt.*;
import java.awt.Image;
import java.awt.event.*;
/**
 * Titre :

 * Description :

 * Copyright : Copyright (c) 2007

 * Société :

 * @author non attribuable
 * @version 1.0
 */


public class malab extends JLabel {


  public malab() {
    super();
    this.setOpaque(false);


  }
public void print(Graphics g){


    //super.paint(g);
   //g.setColor(Color.BLACK);
   //g.fillOval(15,13,190,190);
  }


 


}

package nouveau;




import java.awt.*;
import javax.swing.*;
/**
 * Titre :

 * Description :

 * Copyright : Copyright (c) 2007

 * Société :

 * @author non attribuable
 * @version 1.0
 */


public class monpanel extends JPanel {
  public monpanel() {
    super();


  }
  public void paint(Graphics g){
    for(int i=0;i<1000;i+=20){
    this.setBackground(Color.black);
    g.drawLine(i+600,33,33,33);
  }
}


}

//////////////////////////////////////////class crono////////////////////////////////////////////////

package nouveau;


import javax.swing.*;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.font.*;




/**
 * Titre :

 * Description :

 * Copyright : Copyright (c) 2007

 * Société :

 * @author non attribuable
 * @version 1.0
 */


public class chrono  implements Runnable {
  Font f=new Font("Arial Rounded MT Bold",2,40);


 private Thread chronometre;
 int speed=100;
 private int ds=0;  //dixième de seconde
 Label chro=new Label();


  public chrono() {


   chronometre=new Thread(this);
   chronometre.start();
   chro.setBounds(70,20,300,100);
   chro.setFont(f);


  }




 public void run () {
  while (chronometre!=null) {
    String S=ds/36000 +":"+(ds/6000)%6+(ds/600)%10
    +":"+(ds/100)%6+(ds/10)%10+ ":" + ds%10;


     chro.setText(S);




   ds++;
   try {
    chronometre.sleep(speed);
   } catch (InterruptedException e) {}
  }
 }




}


 

1 réponse

sheorogath Messages postés 2448 Date d'inscription samedi 21 février 2004 Statut Modérateur Dernière intervention 29 janvier 2010 17
29 mai 2007 à 21:44
bonsoir,
non mais attends ta besoin de mettre tut le code ? tu peux pas mettre la ou tu penses que ca coince ? ni preciser ce que fait ton prog ?
http://www.javafr.com/reglement.aspx
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
0