begin process at 2012 02 04 18:19:57
  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é :8 639 / 878

Auteur : jaquechaf

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
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 [J2ME] MAILXPRESS, UNE PETITE APPLICATION D'ENVOI DE MAIL ÉC... par doderic
Source avec Zip CLIENT ET SERVEUR DE MESSAGERIES par lemout
Source avec Zip Source avec une capture NAVIGATEUR HTTP par lemout
Source avec Zip Source avec une capture PROGRAMME DE PARTAGE DE FICHIER EN RESEAUX par billatosco
Source avec Zip JET SPRING JSF PRIMEFACES par mendjijet

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture ANALYSEUR LEXICAL ET SYNTAXIQUE DES EXPRESSIONS ARITHMÉTIQUE... par MBARKI2005
Source avec Zip JAVABREAK GAME par fate123
Source avec Zip GESTION STOCK par COUNDOULIBZO
Source avec Zip TASK_KILLER par COUNDOULIBZO
Source avec Zip Source avec une capture JCOUTURE: LOGICIEL DE GESTION D&#8217;ATELIER DE COUTURE INT... par bashizip

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

Commentaire de sanaasaod le 02/12/2010 01:03:42

SvP   y a quelqu'un qui peut m'aider à comprendre d'abord le principe de consommateur producteur

 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


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,608 sec (3)

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