banniwe
Messages postés13Date d'inscriptionvendredi 31 octobre 2008StatutMembreDernière intervention22 mai 2009
-
22 mai 2009 à 12:07
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 2012
-
23 mai 2009 à 02:08
bonjour,
Encours nous avons vu comment effectuer le deplacement d'un mobile (un carrer noir) à travers un Jframe à l'aide des Threads.
voici le code
classe Unmobile:
import javax.swing.*;
import java.awt.*;
class UnMobile extends JPanel implements Runnable
{
int saLargeur, saHauteur, sonDebutDessin;
final int sonPas=10,sonTemps =100, sonCote=40;
public UnMobile(int telleLargeur, int telleHauteur)
{
super();
saLargeur = telleLargeur;
saHauteur = telleHauteur;
setSize(saLargeur, saHauteur);
}
public void paintComponent(Graphics telContexteGraphique)
{
super.paintComponent(telContexteGraphique);
telContexteGraphique.fillRect(sonDebutDessin,saHauteur/2,sonCote,sonCote);
}
}
classe Fenetre
import java.awt.*;
import javax.swing.*;
class Fenetre extends JFrame
{
private UnMobile mobile = new UnMobile(200,300);
public Fenetre()
{
super("titre");
Container conteneur = getContentPane();
conteneur.add(mobile);
new Thread(mobile).start();
setSize(200,300);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
pour l'instant aucun probleme , mais je n'arrive pas à faire la généralisation de se cas ( avec plusieur mobiles)
les mobile n'apparaissent pas toujours en mem temps...
voici mon code
classe fenetre
import java.awt.*;
import javax.swing.*;
class Fenetre extends JFrame
{
private UnMobile mobile = new UnMobile(200,300);
private UnMobile mobile2 = new UnMobile(400,600);
public Fenetre()
{
super("titre");
Container conteneur = getContentPane();
conteneur.add(mobile);
new Thread(mobile).start();
conteneur.add(mobile2);
new Thread(mobile2).start();
setSize(400,600);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
pour la classe UnMobile rien n'est changé ( jai essayé de synchroniser le contenu de la boucle for (avec synchronized(un_objet_static) ) mais cela n'a eu aucun effet))