begin process at 2010 03 12 23:37:40
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > SIMULATEUR DE L’ALGORITHME PRODUCTEUR/CONSOMMATEUR (INGÉNIEUR ISIMS 2008)

SIMULATEUR DE L’ALGORITHME PRODUCTEUR/CONSOMMATEUR (INGÉNIEUR ISIMS 2008)


 Information sur la source

Note :
Aucune note
Catégorie :Application Classé sous :simulateur, Producteur, Consommateur, Java, ISIMS Niveau :Débutant Date de création :25/04/2008 Date de mise à jour :25/04/2008 12:00:12 Vu / téléchargé :6 046 / 631

Auteur : jaquechaf

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
C’est une petite application avec des composantes graphiques du package swing de java qui fait la simulation de l’algorithme producteur/consommateur
J’espère que ça vous aide bonne continuation

Source

  • import javax.swing.*;
  • import java.awt.event.*;
  • import java.awt.*;
  • public class TestBuffer extends JFrame implements ActionListener
  • {
  • public Bufer buffer;
  • public Producteur producteur;
  • public Consommateur consommateur;
  • public Container container;
  • public ImageIcon[] image;
  • public JButton compteur;
  • public JPanel totale;
  • public JPanel producteurP;
  • public JPanel consommateurP;
  • public JPanel controler;
  • public JPanel p_controler;
  • public JPanel c_controler;
  • public JLabel titre;
  • public ImageIcon pro_img;
  • public ImageIcon con_img;
  • public JButton pro;
  • public JButton con;
  • public ImageIcon on_img;
  • public ImageIcon off_img;
  • public JButton pro_on;
  • public JButton con_on;
  • public JButton pro_off;
  • public JButton con_off;
  • public ImageIcon xon_img;
  • public ImageIcon xoff_img;
  • public JButton xon;
  • public JButton xoff;
  • public ImageIcon controle_img;
  • public JButton controle;
  • public static TestBuffer t;
  • public ImageIcon logo;
  • public TestBuffer()
  • {
  • try
  • {
  • UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  • SwingUtilities.updateComponentTreeUI(this);
  • }
  • catch (Exception e)
  • {
  • System.out.println("FrmUsers.FrmUsers : impossible d'appliquer le thème du système");
  • }
  • logo = new ImageIcon("logo.png");
  • this.setIconImage(logo.getImage());
  • this.setTitle("Producteur/Consommateur");
  • controle_img=new ImageIcon("controle.png");
  • controle=new JButton();
  • controle.setIcon(controle_img);
  • pro_img=new ImageIcon("producteur.png");
  • con_img=new ImageIcon("consommateur.png");
  • pro=new JButton();
  • pro.setIcon(pro_img);
  • con=new JButton();
  • con.setIcon(con_img);
  • xon_img=new ImageIcon("xon.png");
  • xoff_img=new ImageIcon("xoff.png");
  • xon=new JButton();
  • xon.setIcon(xon_img);
  • xoff=new JButton();
  • xoff.setIcon(xoff_img);
  • on_img=new ImageIcon("on.png");
  • off_img=new ImageIcon("off.png");
  • pro_on=new JButton();
  • pro_on.setIcon(on_img);
  • con_on=new JButton();
  • con_on.setIcon(on_img);
  • pro_off=new JButton();
  • pro_off.setIcon(off_img);
  • con_off=new JButton();
  • con_off.setIcon(off_img);
  • totale = new JPanel();
  • totale.setLayout(new BoxLayout(totale, BoxLayout.Y_AXIS));
  • controler = new JPanel();
  • controler.setLayout(new BoxLayout(controler,BoxLayout.X_AXIS));
  • producteurP = new JPanel();
  • producteurP.setLayout(new BoxLayout(producteurP, BoxLayout.X_AXIS));
  • p_controler = new JPanel();
  • p_controler.setLayout(new BoxLayout(p_controler, BoxLayout.Y_AXIS));
  • p_controler.add(pro_on);
  • p_controler.add(pro_off);
  • producteurP.add(pro);
  • producteurP.add(p_controler);
  • controler.add(producteurP);
  • controler.add(xoff);
  • controler.add(xon);
  • consommateurP = new JPanel();
  • consommateurP.setLayout(new BoxLayout(consommateurP, BoxLayout.X_AXIS));
  • c_controler = new JPanel();
  • c_controler.setLayout(new BoxLayout(c_controler, BoxLayout.Y_AXIS));
  • c_controler.add(con_on);
  • c_controler.add(con_off);
  • consommateurP.add(c_controler);
  • consommateurP.add(con);
  • controler.add(consommateurP);
  • totale.add(controler);
  • compteur=new JButton();
  • image = new ImageIcon[10];
  • for(int i=0;i<10;i++)
  • {
  • image[i] = new ImageIcon(i+".png");
  • System.out.println(image[i]);
  • }
  • compteur.setIcon(image[0]);
  • container=this.getContentPane();
  • buffer = new Bufer(10,compteur,image);
  • producteur = new Producteur (buffer);
  • consommateur = new Consommateur (buffer);
  • container.add(compteur,BorderLayout.NORTH);
  • container.add(controle,BorderLayout.CENTER);
  • container.add(totale,BorderLayout.SOUTH);
  • this.setVisible(true);
  • this.pack();
  • pro_on.addActionListener(this);
  • pro_off.addActionListener(this);
  • con_on.addActionListener(this);
  • con_off.addActionListener(this);
  • xon.addActionListener(this);
  • xoff.addActionListener(this);
  • }
  • public static void main(String args[])
  • {
  • t=new TestBuffer();
  • t.producteur.start();
  • t.consommateur.start();
  • }
  • public void actionPerformed(ActionEvent action)
  • {
  • if(action.getSource().equals(pro_on))
  • {
  • t.producteur=new Producteur (buffer);
  • t.producteur.start();
  • }
  • if(action.getSource().equals(pro_off))
  • {
  • t.producteur.stop();
  • }
  • if(action.getSource().equals(con_on))
  • {
  • t.consommateur=new Consommateur (buffer);
  • t.consommateur.start();
  • }
  • if(action.getSource().equals(con_off))
  • {
  • t.consommateur.stop();
  • }
  • if(action.getSource().equals(xon))
  • {
  • t.producteur=new Producteur (buffer);
  • t.consommateur=new Consommateur (buffer);
  • t.producteur.start();
  • t.consommateur.start();
  • }
  • if(action.getSource().equals(xoff))
  • {
  • t.producteur.stop();
  • t.consommateur.stop();
  • }
  • }
  • }
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

public class TestBuffer extends JFrame implements ActionListener
{
	public Bufer buffer;
	public Producteur producteur;
	public Consommateur consommateur;
	public Container container;
	public ImageIcon[] image;
	public JButton compteur;
	public JPanel totale;
	public JPanel producteurP;
	public JPanel consommateurP;
	public JPanel controler;
	public JPanel p_controler;
	public JPanel c_controler;
	public JLabel titre;
	
	public ImageIcon pro_img;
	public ImageIcon con_img;
	public JButton pro;
	public JButton con;
	public ImageIcon on_img;
	public ImageIcon off_img;
	public JButton pro_on;
	public JButton con_on;
	public JButton pro_off;
	public JButton con_off;
	
	public ImageIcon xon_img;
	public ImageIcon xoff_img;
	public JButton xon;
	public JButton xoff;
	
	public ImageIcon controle_img;
	public JButton controle;
	
	public static TestBuffer t;
	
	public ImageIcon logo;
		
	public TestBuffer()
	{
		try 
		{
			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
			SwingUtilities.updateComponentTreeUI(this);
		} 
		catch (Exception e) 
		{
			System.out.println("FrmUsers.FrmUsers : impossible d'appliquer le thème du système");
		}
		
		logo = new ImageIcon("logo.png");
		this.setIconImage(logo.getImage());
		this.setTitle("Producteur/Consommateur");
		
		controle_img=new ImageIcon("controle.png");
		controle=new JButton();
		controle.setIcon(controle_img);
		
		pro_img=new ImageIcon("producteur.png");
		con_img=new ImageIcon("consommateur.png");
		pro=new JButton();
		pro.setIcon(pro_img);
		con=new JButton();
		con.setIcon(con_img);
		
		xon_img=new ImageIcon("xon.png");
		xoff_img=new ImageIcon("xoff.png");
		xon=new JButton();
		xon.setIcon(xon_img);
		xoff=new JButton();
		xoff.setIcon(xoff_img);
		
		on_img=new ImageIcon("on.png");
		off_img=new ImageIcon("off.png");
		pro_on=new JButton();
		pro_on.setIcon(on_img);
		con_on=new JButton();
		con_on.setIcon(on_img);
		pro_off=new JButton();
		pro_off.setIcon(off_img);
		con_off=new JButton();
		con_off.setIcon(off_img);
		
		totale = new JPanel();
		totale.setLayout(new BoxLayout(totale, BoxLayout.Y_AXIS));
		
		controler = new JPanel();
		controler.setLayout(new BoxLayout(controler,BoxLayout.X_AXIS));
		producteurP = new JPanel();
		producteurP.setLayout(new BoxLayout(producteurP, BoxLayout.X_AXIS));
		p_controler = new JPanel();
		p_controler.setLayout(new BoxLayout(p_controler, BoxLayout.Y_AXIS));
		p_controler.add(pro_on);
		p_controler.add(pro_off);
		producteurP.add(pro);
		producteurP.add(p_controler);
		controler.add(producteurP);
		
		controler.add(xoff);
		controler.add(xon);
		
		consommateurP = new JPanel();
		consommateurP.setLayout(new BoxLayout(consommateurP, BoxLayout.X_AXIS));
		c_controler = new JPanel();
		c_controler.setLayout(new BoxLayout(c_controler, BoxLayout.Y_AXIS));
		c_controler.add(con_on);
		c_controler.add(con_off);
		consommateurP.add(c_controler);
		consommateurP.add(con);
		controler.add(consommateurP);
		
		totale.add(controler);
	
		compteur=new JButton();
		image = new ImageIcon[10];
		for(int i=0;i<10;i++)
		{
			image[i] = new ImageIcon(i+".png");
			System.out.println(image[i]);
		}
		compteur.setIcon(image[0]);
		container=this.getContentPane();
		buffer = new Bufer(10,compteur,image);
		producteur = new Producteur (buffer);
		consommateur = new Consommateur (buffer);
		container.add(compteur,BorderLayout.NORTH);
		container.add(controle,BorderLayout.CENTER);
		container.add(totale,BorderLayout.SOUTH);
		this.setVisible(true);
		this.pack();
		pro_on.addActionListener(this);
		pro_off.addActionListener(this);
		con_on.addActionListener(this);
		con_off.addActionListener(this);
		xon.addActionListener(this);
		xoff.addActionListener(this);
	}
	
	public static void main(String args[])
	{
		t=new TestBuffer();
		t.producteur.start();
		t.consommateur.start();
	}
	
	public void actionPerformed(ActionEvent action)
	{
		if(action.getSource().equals(pro_on))
		{
			t.producteur=new Producteur (buffer);
			t.producteur.start();
		}
		if(action.getSource().equals(pro_off))
		{
			t.producteur.stop();
		}
		if(action.getSource().equals(con_on))
		{
			t.consommateur=new Consommateur (buffer);
			t.consommateur.start();
		}
		if(action.getSource().equals(con_off))
		{
			t.consommateur.stop();
		}
		if(action.getSource().equals(xon))
		{
			t.producteur=new Producteur (buffer);
			t.consommateur=new Consommateur (buffer);
			t.producteur.start();
			t.consommateur.start();
		}
		if(action.getSource().equals(xoff))
		{
			t.producteur.stop();
			t.consommateur.stop();
		}
	}
}

 Conclusion

J’espère que ça vous aide bonne continuation

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 avril 2008 00:47:25 :
J’ai ajouté la source

 Sources de la même categorie

Source avec Zip Source avec une capture BANANA SPLIT par roiDesBranleurs
Source avec une capture ENVOIE DES SMS VIA LES COMMANDES AT par ingenioura
Source avec Zip ANALYSEUR DE PROXY IRC ET HTTP AVEC UNE INTERFACE GRAPHIQUE par sisisousou
Source avec Zip Source avec une capture "PROGRAMMEUR", EST UN PROGRAMME QUI PERMET DE TAPER QUELQUE ... par edouard333
Source avec Zip Source avec une capture "NARRATEUR", PROGRAMME QUI "LIT" SE QU'ON ÉCRIT... par edouard333

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture BANANA SPLIT par roiDesBranleurs
Source avec Zip Source avec une capture CALENDRIER EN JAVA (APPLET JAVA) POUR ANNONCER UN EVENEMENT ... par aladec2007
Source avec Zip Source avec une capture "PROGRAMMEUR", EST UN PROGRAMME QUI PERMET DE TAPER QUELQUE ... par edouard333
Source avec Zip CITY, C'EST UN JEU DE VILLE par edouard333
Source avec Zip Source avec une capture PETIT JEU AVEC JAVAFX par puccino1er

Commentaires et avis

Commentaire de Twinuts le 25/04/2008 11:59:46 administrateur CS

Salut,

désolé mais après lecture du code il n'y a rien qui justifie un niveau expert ni même initié...
Je repasse le code en débutant...

Commentaire de jaquechaf le 25/04/2008 20:07:03

Salut,

Votre commentaire est très intéressante pour moi car elle va me motiver pour travailler et charger d'autres codes de niveau plus élevé

Commentaire de Chatbour le 28/04/2008 19:48:33

Salut,

voici mes remarques :
- il n'y a pas de commentaire.
- l'interface ne me parait pas très conviviale ni interactive.
j'ai pas saisi le rôle de chacun des composants dans la fenêtre.
- la simulation du classique Producteur/Consommateur n'est pas évidente.
- le fichier pc2.jcw ne sert à rien.

Je te souhaite bonne continuation et bon courage,
Cordialement.

Commentaire de jaquechaf le 28/04/2008 20:44:41

Merci bien

Commentaire de Chatbour le 05/05/2008 12:59:42

il y a des fuites mémoires..

Commentaire de jaquechaf le 05/05/2008 13:58:22

je croix que la gestion de la mémoire en java se fait automatiquement par le GC
je vois pas ou la perte mémoire

Commentaire de Chatbour le 05/05/2008 15:50:47

c'est vrai, mais tu dois comme même fermer tout flux que tu as ouvert et arrête tout processus ou thread lancé manuellement..

la preuve : lance ton application puis ferme la et essaie de déplacer le dossier de l'application et tu aura un message indiquant que le dossier est utilisé..

Commentaire de jaquechaf le 14/05/2008 21:31:24

je veux bien que vous notez ce code

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

simulateur des Transactions avec java [ par louda1431 ] Bonjour àtous; je suis en train de développer un simulateur des transactions d'un SGBDTR avec java sous l'environement eclipse; pouvez vs m'aidez àpro Problème test Service Web avec hibernate+mysql+netbeans [ par superkoko1986 ] Bonjour, J'ai un petit soucis avec mon web service. En fait le build et le deploy fonctionne correctement mais lors du test du web service depuis le le MVC en java (model view controler) [ par espoirsh ] bjr tous le monde, j'ai un tp à rendre avant le lundi prochain et j'ai des difficultées à le faire malgré que j'ai essayé de le faire et j'ai bcp cher projet en java sur projection d'un film [ par sassouta ] Bonjour,je suis débutante en programmation en orienté objet et je veux que vs m'aidez à résoudre ce projet svp n'hesitez pas de me répondre c urgent l débutant en java [ par momov ] Bonjour; je suis étudiant en informatique et j'ai déjà étudier l'algorithme, j'aimerais bien savoir si quelqu'un peut m'aider pour débuter en java. programmer les button de telephone en java [ par rachaih ] bjr j'ai un mini projet sur le telephone avec programmation java et juska mnt je sais po comment programmer les deux bouton accepter l'appel et rejter programme simple client serveur avec les sockets [ par mimi87uk ] Bonjour, j'ai programmer une socket serveur et une cliente, apres quand je compil je vois ce resultat C:\Users\Nas\Desktop\TPJAVA>javac Serveur.ja [A SUPPRIMER]ouvrir un fichier en format zip par une application java. [ par radjaco ] bonjour, j'ai un fichier zip qui contient plusieurs fichiers .txt,je veudrai savoir comment faire pour afficher le contenu d'un de ces fichiers textes


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales