<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java formation</title>
	<atom:link href="http://www.java-formation.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.java-formation.com</link>
	<description>learning programmers tools</description>
	<lastBuildDate>Wed, 09 Dec 2009 16:54:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Schémas Classes Swing</title>
		<link>http://www.java-formation.com/schemas-classes-swing</link>
		<comments>http://www.java-formation.com/schemas-classes-swing#comments</comments>
		<pubDate>Wed, 09 Dec 2009 16:54:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[debutant]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=669</guid>
		<description><![CDATA[Schémas classes Swing
Articles relatifs7 décembre 2009 -- ActionListener: écouteur événements JButton (0)5 décembre 2009 -- Comment mettre écouteur événements dans Jframe, gestion clicks (0)3 décembre 2009 -- Gui: Fenêtre avec écouteur événement (Swing) (0)6 décembre 2009 -- Compter nombre d&#8217;occurences de traitements en incrémentant simple variable (0)30 novembre 2009 -- Serieswatcher: Alertes mes séries tv [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Schémas classes Swing</strong></p>
<p><a " href="/wp-content/uploads/Schemas_classes_Swing.PNG" onfocus="this.blur()" title="Schemas_classes_Swing.PNG" rel="lightbox[669]"><img src="/wp-content/uploads/Schemas_classes_Swing.PNG" alt="Schemas_classes_Swing.PNG" title="Schemas_classes_Swing.PNG" width="940" height="735" border="0" /></a></p><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>7 décembre 2009 -- <a href="http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton" title="ActionListener: écouteur événements JButton">ActionListener: écouteur événements JButton</a> (0)</li><li>5 décembre 2009 -- <a href="http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks" title="Comment mettre écouteur événements dans Jframe, gestion clicks">Comment mettre écouteur événements dans Jframe, gestion clicks</a> (0)</li><li>3 décembre 2009 -- <a href="http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing" title="Gui: Fenêtre avec écouteur événement (Swing)">Gui: Fenêtre avec écouteur événement (Swing)</a> (0)</li><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/serieswatcher-alertes-series-tv" title="Serieswatcher: Alertes mes séries tv préférées">Serieswatcher: Alertes mes séries tv préférées</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/4-tutoriels-en-francais-sur-les-bases-de-donnees-avec-java" title="4 tutoriels en français sur les bases de données avec java">4 tutoriels en français sur les bases de données avec java</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/classes-abstraites-modificateur-abstract-class-methodes" title="Classes abstraites: modificateur abstract class + méthodes">Classes abstraites: modificateur abstract class + méthodes</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>10 octobre 2009 -- <a href="http://www.java-formation.com/interface-liste-de-methodes-a-implementer" title="Interface: liste de méthodes à implémenter">Interface: liste de méthodes à implémenter</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/schemas-classes-swing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionListener: écouteur événements JButton</title>
		<link>http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton</link>
		<comments>http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:39:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[debutant]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=663</guid>
		<description><![CDATA[Comment placer un écouteur sur un JButton ?
Les composants Swing de type JButton peuvent recevoir un écouteur d’événement pour détecter les actions accomplis sur ce bouton.  Pour ce faire, Swing propose l’interface actionListener. Cette interface dispose d’une méthode nommée actionPerformed qui détermine comment l’interface graphique doit réagir s’il l’on presse sur un JButton disposant [...]]]></description>
			<content:encoded><![CDATA[<p>Comment placer un écouteur sur un JButton ?</p>
<p>Les composants Swing de type JButton peuvent recevoir un écouteur d’événement pour détecter les actions accomplis sur ce bouton.  Pour ce faire, Swing propose l’interface actionListener. Cette interface dispose d’une méthode nommée actionPerformed qui détermine comment l’interface graphique doit réagir s’il l’on presse sur un JButton disposant d’un écouteur.</p>
<p>Dans cet exemple, je place un écouteur d’événement dans les deux JButton, ensuite je détermine la source de l’événement grâce) la méthode getActionCommand. Cette méthode (getActionCommand)  renvoi le label du JButton appelé par cette méthode. La méthode getActionCommand peut être fort pratique lorsque notre interface graphique possède plusieurs JButton, et que l’on souhaite savoir précisément quel JButton à été pressé par l’utilisateur, par exemple. Identifier la source d’un événement, quel est le composant dans notre fenêtre qui a déclenché une action.</p>
<p>Je commence par crée une classe que je nomme Main (à ne pas confondre avec la méthode main faisant office de porte d’entrée d’un programme java), je place la méthode main classique dans ma classe Main. Ceci afin de bien distinguer mes classes.</p>
<p>Image ActionListener sur JButton:<br />
<a " href="/wp-content/uploads/2009/11/ActionListener_JButton.jpg" onfocus="this.blur()" title="ActionListener_JButton.jpg" rel="lightbox[663]"><img src="/wp-content/uploads/2009/11/ActionListener_JButton.jpg" alt="ActionListener_JButton.jpg" title="ActionListener_JButton.jpg" width="1280" height="800" border="0" /></a></p>
<pre class="brush: java;">
package actionListener;

// imports des classes utiles pour placer un écouteur d'événements sur un JButton
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Container;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Main {
    public static void main(String[] args){
	Fenetre fen = new Fenetre();

    }
}

class Fenetre extends JFrame {
    Fenetre(){
	JButton bouton1 = new JButton(&quot;bouton 1&quot;);
	JButton bouton2 = new JButton(&quot;bouton 2&quot;);
	setSize(400,200);
	setTitle(&quot;Ma fenetre&quot;);
	setVisible(true);
	Container contenu = getContentPane(); // la méthode getContentPane renvoie le contenu de notre JFrame
	contenu.add(bouton1);
	contenu.add(bouton2);
	contenu.setLayout(new FlowLayout()); // FlowLayout assemble les composant en &quot;float&quot; (l'un après l'autre)
	bouton1.addActionListener(new EcouteurBouton());
	bouton2.addActionListener(new EcouteurBouton());

    }
}

class EcouteurBouton implements ActionListener { // on implemente l'interface ActionListener, et on surcharge la méthode ActionPerformed()

    @Override
    public void actionPerformed(ActionEvent arg0) {
	String label = arg0.getActionCommand(); // la méthode getActionCommand nous renvoi le label du JButton qui déclenche l'événement.
	System.out.println(&quot;coucou, il s'agit d'un événement sur &quot; + label);

    }
}
</pre><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>9 décembre 2009 -- <a href="http://www.java-formation.com/schemas-classes-swing" title="Schémas Classes Swing">Schémas Classes Swing</a> (0)</li><li>5 décembre 2009 -- <a href="http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks" title="Comment mettre écouteur événements dans Jframe, gestion clicks">Comment mettre écouteur événements dans Jframe, gestion clicks</a> (0)</li><li>3 décembre 2009 -- <a href="http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing" title="Gui: Fenêtre avec écouteur événement (Swing)">Gui: Fenêtre avec écouteur événement (Swing)</a> (0)</li><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/serieswatcher-alertes-series-tv" title="Serieswatcher: Alertes mes séries tv préférées">Serieswatcher: Alertes mes séries tv préférées</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/4-tutoriels-en-francais-sur-les-bases-de-donnees-avec-java" title="4 tutoriels en français sur les bases de données avec java">4 tutoriels en français sur les bases de données avec java</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/classes-abstraites-modificateur-abstract-class-methodes" title="Classes abstraites: modificateur abstract class + méthodes">Classes abstraites: modificateur abstract class + méthodes</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>10 octobre 2009 -- <a href="http://www.java-formation.com/interface-liste-de-methodes-a-implementer" title="Interface: liste de méthodes à implémenter">Interface: liste de méthodes à implémenter</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</title>
		<link>http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable</link>
		<comments>http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable#comments</comments>
		<pubDate>Sun, 06 Dec 2009 13:50:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[calculs traitements]]></category>
		<category><![CDATA[debutant]]></category>
		<category><![CDATA[fonctionnement des boucles]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=657</guid>
		<description><![CDATA[Compter en incrémentant la variable nbreCoups à chaque tour de boucle while.

package poubelle;
import java.util.Scanner;

public class Test {
	public static void main(String[] args){
		Scanner sc= new Scanner(System.in);
		System.out.println(&#34; taille maximale du chiffre ? &#34;);
		int limite= sc.nextInt();
		int rand= (int)((Math.random())*limite)+1;
		System.out.println(&#34;chiffre à trouvé &#34; + rand);
		int nbreCoups=1;
		int rand2= (int)((Math.random())*limite)+1;

		while (rand2!=rand){
			rand2=(int)((Math.random())*limite)+1;
			nbreCoups++;
			System.out.println(&#34;Il faut trouvé le chiffre: &#34; + rand + &#34; et je propose [...]]]></description>
			<content:encoded><![CDATA[<p>Compter en incrémentant la variable nbreCoups à chaque tour de boucle while.</p>
<pre class="brush: java;">
package poubelle;
import java.util.Scanner;

public class Test {
	public static void main(String[] args){
		Scanner sc= new Scanner(System.in);
		System.out.println(&quot; taille maximale du chiffre ? &quot;);
		int limite= sc.nextInt();
		int rand= (int)((Math.random())*limite)+1;
		System.out.println(&quot;chiffre à trouvé &quot; + rand);
		int nbreCoups=1;
		int rand2= (int)((Math.random())*limite)+1;

		while (rand2!=rand){
			rand2=(int)((Math.random())*limite)+1;
			nbreCoups++;
			System.out.println(&quot;Il faut trouvé le chiffre: &quot; + rand + &quot; et je propose &quot; + rand2 + &quot; pour la tentative n° &quot; + nbreCoups);
		}
	}
}
</pre><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>8 octobre 2009 -- <a href="http://www.java-formation.com/creer-un-programme-qui-fusionne-deux-chaines-de-caracteres" title="Créer un programme qui fusionne deux chaines de caractères">Créer un programme qui fusionne deux chaines de caractères</a> (1)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/calculer-moyenne-dentiers-exemple-gestion-erreursexeptions" title="Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions">Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions</a> (0)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/exercices-sur-les-boucles-100-piles-ou-faces" title="Exercices sur les boucles: 100 piles ou faces">Exercices sur les boucles: 100 piles ou faces</a> (0)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/mettre-des-donnees-dans-un-tableau-et-tester-leur-presence" title="Mettre des données dans un tableau et tester leurs présences">Mettre des données dans un tableau et tester leurs présences</a> (0)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/classe-simple-qui-gere-promotion-commerciale-calcul-de-reduction" title="Classe simple qui gère promotion commerciale: calcul de réduction">Classe simple qui gère promotion commerciale: calcul de réduction</a> (0)</li><li>13 septembre 2009 -- <a href="http://www.java-formation.com/ma-premiere-boucle-compter-jusque-1000" title="Première boucle: compter jusque 1000">Première boucle: compter jusque 1000</a> (0)</li><li>1 septembre 2009 -- <a href="http://www.java-formation.com/calculer-moyenne-dentiers" title="Calculer moyenne">Calculer moyenne</a> (0)</li><li>1 septembre 2009 -- <a href="http://www.java-formation.com/utilisation-des-boucles-chiffre-cache" title="Utilisation des boucles: chiffre caché">Utilisation des boucles: chiffre caché</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment mettre écouteur événements dans Jframe, gestion clicks</title>
		<link>http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks</link>
		<comments>http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks#comments</comments>
		<pubDate>Fri, 04 Dec 2009 23:33:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[debutant]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=653</guid>
		<description><![CDATA[Différentes technique pour placer un écouteur d’événement dans une JFrame. Un écouteur d’événement est un objet qui implémente l’interface MouseListener, ou qui utilise la classe MouseAdapter. La classe MouseAdapter, contrairement à l’interface MouseListener,  peut être instanciée car non abstraite. L’interface MouseListener étant une interface, par nature elle ne peut être instanciée et ne sert [...]]]></description>
			<content:encoded><![CDATA[<p>Différentes technique pour placer un écouteur d’événement dans une JFrame. Un écouteur d’événement est un objet qui implémente l’interface MouseListener, ou qui utilise la classe MouseAdapter. La classe MouseAdapter, contrairement à l’interface MouseListener,  peut être instanciée car non abstraite. L’interface MouseListener étant une interface, par nature elle ne peut être instanciée et ne sert qu’à délivrer différentes méthodes à associer à un écouteur.</p>
<p>Il existe plusieurs manières de mettre un écouteur d’événements dans une JFrame. On peut soit placer cette écouteur d’événements dans la JFrame même, ou créer une classe à part qui soit implémentera l’interface MouseListener, soit en déclarant la classe « extends MouseAdapter ». </p>
<p>Voici une manière de placer un écouteur d’événements dans une JFrame en 3 classes. Une classe Fenêtre qui représente la fenêtre JFrame, une classe Ecouteur qui représente l’objet de type MouseListener que l’on associera à notre fenêtre, et enfin une classe Main qui appel la fenêtre crée avec son écouteur d’événements.</p>
<p>Nous allons associer 2 écouteurs d’événements à cette fenêtre JFrame. Un premier écouteur se trouve dans la classe Ecouteur, dans le constructeur de la classe de type Ecouteur. Le deuxième écouteur d’événements est dans créée dans la classe EcouteurSouris qui se trouve insérée dans la classe Fenêtre.</p>
<pre class="brush: java;">
package Swing;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Ecouteur extends MouseAdapter{

	public void mouseClicked(MouseEvent e) {
		System.out.println(&quot;Click&quot;  );
	}
}
</pre>
<p>Classe Fenetre qui représente notre Fenetre, notre Jframe</p>
<pre class="brush: java;">
package Swing;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;

public class Fenetre extends JFrame {
	Fenetre (){

		setSize(600,250);
		setVisible(true);
		setTitle(&quot;salut&quot;);
		addMouseListener(new EcouteurSouris());

	}
	class EcouteurSouris extends MouseAdapter { // cette classe utilise MouseAdapter pour associer un écouteur d'événements à notre JFrame, sans qu'il soit nécessaire de redéfinir toute les méthodes.

		public void mouseClicked(MouseEvent e){
			System.out.println(&quot;reclick&quot;);
		}
	}
}
</pre>
<p>Classe Main qui sers à appeler nos autres classes du package</p>
<pre class="brush: java;">
package Swing;
import javax.swing.*;

import java.awt.event.*;

public class Main {
	public static void main (String[] args){
		Fenetre fen = new Fenetre ();
		fen.addMouseListener(new Ecouteur()); // méthode addMouseListener qui sert à associer un écouteur d'événements à notre objet cotnenu dans la variabe fen

	}
}
</pre><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>9 décembre 2009 -- <a href="http://www.java-formation.com/schemas-classes-swing" title="Schémas Classes Swing">Schémas Classes Swing</a> (0)</li><li>7 décembre 2009 -- <a href="http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton" title="ActionListener: écouteur événements JButton">ActionListener: écouteur événements JButton</a> (0)</li><li>3 décembre 2009 -- <a href="http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing" title="Gui: Fenêtre avec écouteur événement (Swing)">Gui: Fenêtre avec écouteur événement (Swing)</a> (0)</li><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/serieswatcher-alertes-series-tv" title="Serieswatcher: Alertes mes séries tv préférées">Serieswatcher: Alertes mes séries tv préférées</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/4-tutoriels-en-francais-sur-les-bases-de-donnees-avec-java" title="4 tutoriels en français sur les bases de données avec java">4 tutoriels en français sur les bases de données avec java</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/classes-abstraites-modificateur-abstract-class-methodes" title="Classes abstraites: modificateur abstract class + méthodes">Classes abstraites: modificateur abstract class + méthodes</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>10 octobre 2009 -- <a href="http://www.java-formation.com/interface-liste-de-methodes-a-implementer" title="Interface: liste de méthodes à implémenter">Interface: liste de méthodes à implémenter</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gui: Fenêtre avec écouteur événement (Swing)</title>
		<link>http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing</link>
		<comments>http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing#comments</comments>
		<pubDate>Thu, 03 Dec 2009 20:53:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[debutant]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=651</guid>
		<description><![CDATA[Introduction à Swing: créer une fenêtre et lui associer un écouteur d&#8217;événement. 
Swing est composé de nombreuses classes Java qui permettent de créer des interfaces graphiques pour les programmes. 
Voici une introduction en douceur dans laquelle on construit une première fenêtre, à laquelle on donne un écouteur d&#8217;événements ( dans notre cas, un écouteur d&#8217;événements [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction à Swing: créer une fenêtre et lui associer un écouteur d&#8217;événement. </strong><br />
Swing est composé de nombreuses classes Java qui permettent de créer des interfaces graphiques pour les programmes. </p>
<p>Voici une introduction en douceur dans laquelle on construit une première fenêtre, à laquelle on donne un écouteur d&#8217;événements ( dans notre cas, un écouteur d&#8217;événements lié à l&#8217;utilisation de la souris), et nous affiche des informations à la console par rapport aux événements rencontrés</p>
<p>Image du résultat attendu</p>
<p><a " href="/wp-content/uploads/2009/11/MouseListener_Swing.jpg" onfocus="this.blur()" title="MouseListener_Swing.jpg" rel="lightbox[651]"><img src="/wp-content/uploads/2009/11/MouseListener_Swing.jpg" alt="MouseListener_Swing.jpg" title="MouseListener_Swing.jpg" width="600" height="375" border="0" /></a></p>
<pre class="brush: java;">
package GuiTests;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;

public class Test extends JFrame implements MouseListener {
    // constructeur de notre classe Test
    public Test(){
	setVisible(true); // méthode qui rend la fenêtre visible
	setTitle(&quot;Première fenêtre&quot;); // un titre pour notre fenêtre
	setBounds(10, 400, 600, 400); // méthode setBounds qui permet de définir une taille de fenêtre
	addMouseListener(this); // on ajoute un objet de type MouseListener. Celui-ci dispose des méthodes
	// qui permettent de gérer les évenement pour cette exemple de code
    }

    // implémentation des méthodes contenu dans l'interface MouseListener, comme MouseListener est une classe abstraite
    // on doit redéfinir les méthodes qui la composent, ou alors déclarer abstraite la classe qui implémente MouseListener
    public void mouseClicked (MouseEvent ev){

	int x = ev.getX(); // get y et get x permettent de récupérer les coordonées de l'événement
	int y = ev.getY();
	System.out.println(&quot; clic dans fenêtre au points de coordonées &quot; + x +&quot;, &quot; +  y);// nous indique les coordonées du click
    }
    public void mousePressed (MouseEvent ev){// méthode abstraite redéfinie
    }
    public void mouseExited (MouseEvent ev){// méthode abstraite redéfinie
    }
    public void mouseEntered (MouseEvent ev){// méthode abstraite redéfinie
    }
    public void mouseReleased(MouseEvent arg0) {// méthode abstraite redéfinie
    }
    public static void main(String[] args){ // on appel la fenêtre via la méthode main
	Test fen2 = new Test();
	fen2.setVisible(true);
    }
}
</pre><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>9 décembre 2009 -- <a href="http://www.java-formation.com/schemas-classes-swing" title="Schémas Classes Swing">Schémas Classes Swing</a> (0)</li><li>7 décembre 2009 -- <a href="http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton" title="ActionListener: écouteur événements JButton">ActionListener: écouteur événements JButton</a> (0)</li><li>5 décembre 2009 -- <a href="http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks" title="Comment mettre écouteur événements dans Jframe, gestion clicks">Comment mettre écouteur événements dans Jframe, gestion clicks</a> (0)</li><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/serieswatcher-alertes-series-tv" title="Serieswatcher: Alertes mes séries tv préférées">Serieswatcher: Alertes mes séries tv préférées</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/4-tutoriels-en-francais-sur-les-bases-de-donnees-avec-java" title="4 tutoriels en français sur les bases de données avec java">4 tutoriels en français sur les bases de données avec java</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/classes-abstraites-modificateur-abstract-class-methodes" title="Classes abstraites: modificateur abstract class + méthodes">Classes abstraites: modificateur abstract class + méthodes</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>10 octobre 2009 -- <a href="http://www.java-formation.com/interface-liste-de-methodes-a-implementer" title="Interface: liste de méthodes à implémenter">Interface: liste de méthodes à implémenter</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serieswatcher: Alertes mes séries tv préférées</title>
		<link>http://www.java-formation.com/serieswatcher-alertes-series-tv</link>
		<comments>http://www.java-formation.com/serieswatcher-alertes-series-tv#comments</comments>
		<pubDate>Mon, 30 Nov 2009 20:01:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[debutant]]></category>
		<category><![CDATA[serieswatcher]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=646</guid>
		<description><![CDATA[Serieswatcher projet
Projet java réalisé sous Eclipse : Serieswatcher !
Début d’un nouveau projet nommé Serieswatcher. Ce projet consiste à créer un logiciel en java qui permet d’être mis au courant, d’être averti grâce à une alerte, des dernières dates de sorties des épisodes d’une série tv donnée. Par exemple je suis fan de la série Lost, [...]]]></description>
			<content:encoded><![CDATA[<p>Serieswatcher projet<br />
Projet java réalisé sous Eclipse : Serieswatcher !</p>
<p>Début d’un nouveau projet nommé Serieswatcher. Ce projet consiste à créer un logiciel en java qui permet d’être mis au courant, d’être averti grâce à une alerte, des dernières dates de sorties des épisodes d’une série tv donnée. Par exemple je suis fan de la série Lost, Dexter et Greys anatomy, et j’aime regarder les épisodes sur internet dés qu’ils sortent. Serieswatcher permettra à tout fan de série tv de pouvoir être mis au courant directement lorsqu’un nouvel épisode est à l’affiche.</p>
<p>Dans un premier temps, le projet consiste à parser une page html afin d’en extraire les multiples infos pertinentes sur une série tv précise. Certains sites web proposent des informations complètes sur les dates de sorties des séries. Néanmoins, il peut être intéressant d’être directement alerter, mis sous alerte, lorsqu’un nouvel épisode sort en tv.</p>
<p>La première version de Serieswatcher pourrait être une version qui s’installe sur pc, avec icône dans la barre des taches qui émet une alerte dans la barre de taches en cas de nouvel épisode des séries  tv choisis. Plus tard, peut-être une version pour gsm (Android), une version sous forme de ria (appli Facebook, applications web,…).</p>
<p>Voici une première ébauche des classes qui composent ce projet. Serieswatcher dans sa première version, utilise déjà plusieurs classes déjà prédéfini dans le jdk. Par exemple la classe Pattern, la classe Matcher qui sont deux classes très importante pour parser le contenu d’une page html, afin de trouver des mises à jour d’informations. Excellent pour s’initier doucement aux concepts d’expressions régulières. L’expression à chercher se trouve dans le pattern, le matcher est le moteur de comparaison entre le modèle pattern compilé et le matcher.</p>
<p>La classe urlConnection provenant de java.net pour se connecter à un site web avec java.</p>
<p>Les objets de type LinkedList aussi sont utilisées dans Serieswatcher. Chaque saison, chaque épisode est contenu dans une liste doublement chainée LinkedList. Pas de tableau ici, car les tableaux en java ne peuvent grandir. Une LinkedList est donc mieux adaptée.</p>
<p>Dans cette première version du logiciel Serieswatcher, une première interface graphique (gui) super basique à été commencée, il faut bien entendu continuer de la développer.<br />
Voici les classes qui composent,  lors de cette version, le projet Serieswatcher (Main, Site, Serie, Saison, Episode, Modele, Vue, Controleur)</p>
<p>Classe Main</p>
<pre class="brush: java;">

public class Main {
	public static void main(String[] args) {
		// on instancie les classes mvc, mais la Gui doit encore être programmée
		Controleur controleur = new Controleur();
		Vue vue = new Vue(controleur);
		Modele modele = new Modele(controleur);
		controleur.setVue(vue);
		controleur.setModele(modele);

		vue.pack();
		vue.setVisible(true);
	}
}
</pre>
<p>Affichage de la classe Site</p>
<pre class="brush: java;">
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.LinkedList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Site {
	/**
	 * Cette méthode permet de récupérer une page HTTP (en HTML) depuis un site
	 * donné avec un nom de série donné sous forme d'une liste chainée.
	 *
	 * @pre    serieName doit être le nom d'une série dans le format du
	 * 		 	site (ex.: &quot;PrisonBreak&quot; ok, &quot;Prison Break&quot; pas ok)
	 * @return une page HTML sous forme d'une liste chainée de String
	 * 			où chaque String contient une ligne du code source de la page
	 *
	 * @todo : traiter le cas où la série n'existe pas + lever exception
	 */
	public static LinkedList&lt;String&gt; getHttpPage(String serieName) {
		String sURL = &quot;http://www.epguides.com/&quot; + serieName;
		String line = &quot;&quot;; // empty HTML page
		LinkedList&lt;String&gt; pageCodeList = new LinkedList&lt;String&gt;();

		try {
			URL epguides = new URL(sURL);
	        URLConnection conn = epguides.openConnection();

	        // version BufferedReader
	        BufferedReader bReader = new BufferedReader(new InputStreamReader(conn.getInputStream()));

	        while((line = bReader.readLine()) != null) {
	        	pageCodeList.add(line); // on l'ajoute dans la liste
	        }

// version Scanner
/*	        String page2 = &quot;&quot;;
	        Scanner scan = new Scanner(conn.getInputStream());

	        while(scan.hasNext()) {
	        	page2 += scan.next();
	        }
*/
		} catch(Exception e) {
			e.printStackTrace(); // todo : traiter avec GUI
		}

		return pageCodeList;
	}

	/**
	 * Cette méthode permet de tester notre pattern matcher sur le code
	 * source d'une page HTML.
	 *
	 * @pre  htmlSource est le code source HTML d'une page qui contient des
	 * 	      informations au sujet d'une série donnée
	 * @post les lignes qui matchent le pattern (voir code) seront affichées
	 *        à l'écran
	 */
	public static void showMatchingLines(LinkedList&lt;String&gt; htmlSource) {
		Pattern pattern = Pattern.compile(&quot;^\\s*\\d+\\.{0,1}\\s+.*$&quot;);
		//pattern = Pattern.compile(&quot;^\\s*\\d+\\.{0,1}\\s+4{1}-.*$&quot;); // récupère les épisodes de la saison i

		String line = &quot;&quot;;
		Matcher matcher;

		for(int i = 0; i &lt; htmlSource.size(); i++) {
			line = htmlSource.get(i);
			matcher = pattern.matcher(line);
			if(matcher.find()) {
				System.out.println(line);
			}
		}
	}
}
</pre>
<p>Affichage de la classe Série</p>
<pre class="brush: java;">
import java.util.Calendar;
import java.util.LinkedList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Serie {
    String name; // ex.: Prison Break
    String urlName; // ex.: PrisonBreak
    Calendar startDate;
    Calendar endDate;
    LinkedList&lt;Season&gt; seasonsList;

    public Serie() {
	name = &quot;&lt;Unknown&gt;&quot;;
	startDate = null;
	endDate = null;
	seasonsList = new LinkedList&lt;Season&gt;();
    }

    /**
     * Cette méthode permet de récupérer un objet de type Série
     * totalement complet et correctement initialisé.
     *
     * @pre    serieName doit être le nom d'une série dans le format du
     * 		 	site (ex.: &quot;PrisonBreak&quot; ok, &quot;Prison Break&quot; pas ok) et
     * 			qui existe
     * @return une série correctement construire et complète
     */
    public static Serie serieBuilder(String serieName) {
	LinkedList&lt;String&gt; htmlSource = Site.getHttpPage(serieName);

	Serie serie = new Serie();
	int seasonIndex = 1;
	boolean currentSeasonExists = true;

	Pattern pattern;
	Matcher matcher;

	// on commence la partie pattern matching pour les épisodes de chaque saison
	while(currentSeasonExists) {
	    Season currentSeason = new Season(serie, seasonIndex);

	    pattern = Pattern.compile(&quot;^\\s*\\d+\\.{0,1}\\s+&quot; + seasonIndex + &quot;{1}-.*$&quot;); // récupère les épisodes de la saison i

	    // on parcourt tout le code source, ligne par ligne
	    for(int i = 0; i &lt; htmlSource.size(); i++) {
		String line = htmlSource.get(i); // ligne courante
		matcher = pattern.matcher(line);
		if(matcher.find()) {
		    // si on trouve, cela signifie que 'line' est une ligne qui représente un épisode
		    // de la saison 'currentSeason'
		    Episode ep = Episode.episodeBuilder(currentSeason, line);
		    currentSeason.episodesList.add(ep);
		}
	    }

	    if(currentSeason.episodesList.size() &gt; 0) {
		serie.seasonsList.add(currentSeason);
		seasonIndex++;
	    } else {
		currentSeasonExists = false;
	    }
	}

	return serie;
    }
}
</pre>
<p>Affichage de la classe Season</p>
<pre class="brush: java;">
import java.util.LinkedList;

public class Season {
	int number;
	Serie serie;
	LinkedList&lt;Episode&gt; episodesList;

	public Season(Serie s, int i) {
		serie = s;
		number = i;
		episodesList = new LinkedList&lt;Episode&gt;();
	}
}
</pre>
<p>Affichage classe Episode</p>
<pre class="brush: java;">
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Episode {
    String title;
    Season season;
    Calendar airDate;
    String link;
    int number; // numéro de l'épisode au sein de la saison

    /**
     * Cette méthode nous permet de récupérer les informations d'un épisode
     * à partir d'une ligne de code source.
     *
     * @pre    epSeason est l'object qui représente la saison de l'épisode
     * 		   sourceLine est une ligne de code source qui contient des informations
     * 			sur un épisode donné
     * @return un épisode construit à partir des informations contenues dans sourceLine
     */
    public static Episode episodeBuilder(Season epSeason, String sourceLine) {
	Pattern pat;
	Matcher mat;

	Episode ep = new Episode(); // on crée un objet Episode vide
	int epNumber = -1;
	Calendar airDate = new GregorianCalendar(0,0,0);
	String link = &quot;N/A&quot;;
	String title = &quot;N/A&quot;;

	pat = Pattern.compile(&quot;\\d{1,}&quot;); // matching numéro épisode
	mat = pat.matcher(sourceLine);
	if(mat.find())
	    epNumber = Integer.parseInt(sourceLine.substring(mat.start(), mat.end()));

	pat = Pattern.compile(&quot;\\d{1,2}\\s{0,1}/{0,1}[a-zA-Z]{3}\\s{0,1}/{0,1}\\d{2}&quot;); // matching air date de l'épisode
	mat = pat.matcher(sourceLine);
	if(mat.find()) {
	    String matchedDate = sourceLine.substring(mat.start(), mat.end());

	    // pour construire le Calendar, il nous faut le day, month number et year
	    String day = &quot;N/A&quot;;
	    pat = Pattern.compile(&quot;^\\d{1,2}&quot;);
	    mat = pat.matcher(matchedDate);
	    if(mat.find()) day = matchedDate.substring(mat.start(), mat.end());

	    String month = &quot;N/A&quot;;
	    pat = Pattern.compile(&quot;[a-zA-Z]{3}&quot;);
	    mat = pat.matcher(matchedDate);
	    if(mat.find()) month = matchedDate.substring(mat.start(), mat.end());

	    String year = &quot;N/A&quot;;
	    pat = Pattern.compile(&quot;\\d{2}$&quot;);
	    mat = pat.matcher(matchedDate);
	    if(mat.find()) year = matchedDate.substring(mat.start(), mat.end());

	    // conversion du month en son numéro de mois dans l'année (voir doc méthode)
	    int monthNb = convertToMonthNumber(month);

	    airDate = new GregorianCalendar(Integer.parseInt(year), monthNb, Integer.parseInt(day));
	}

	pat = Pattern.compile(&quot;http://.*\&quot;&quot;);
	mat = pat.matcher(sourceLine);
	if(mat.find()) link = sourceLine.substring(mat.start(), mat.end()-1);

	pat = Pattern.compile(&quot;&gt;.*&lt;/a&gt;&quot;);
	mat = pat.matcher(sourceLine);
	if(mat.find()) title = sourceLine.substring(mat.start()+1, mat.end()-4);

	// remplissage des attributs de l'objet
	ep.number = epNumber;
	ep.airDate = airDate;
	ep.link = link;
	ep.title = title;
	ep.season = epSeason;

	return ep;
    }

    /**
     * Cette méthode convertit un nom de mois anglais de trois caractères
     * en son numéro dans l'année (ex.: Mar =&gt; 3).
     *
     * @pre    month est un mois anglais de trois caractères (Jan, Feb, Mar, ...)
     * @return le numéro du mois dans l'année,
     * 			sinon -1 si month n'est pas un mois valide
     */
    public static int convertToMonthNumber(String month) {
	String[] monthsTab = {&quot;Jan&quot;, &quot;Feb&quot;, &quot;Mar&quot;, &quot;Apr&quot;, &quot;May&quot;, &quot;Jun&quot;,
		&quot;Jul&quot;, &quot;Aug&quot;, &quot;Sep&quot;, &quot;Oct&quot;, &quot;Nov&quot;, &quot;Dec&quot;};
	for(int i = 0; i &lt; monthsTab.length; i++) {
	    // on fait la comparaison en lower case (pour être sûrs)
	    if((monthsTab[i].toLowerCase()).equals(month.toLowerCase()))
		return i+1;
	}
	return -1;
    }
}
</pre>
<p>Affichage classe vue</p>
<pre class="brush: java;">
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

@SuppressWarnings(&quot;serial&quot;)
public class Vue extends JFrame {
    public Controleur controleur;
    public JComboBox serieChoice;
    public JComboBox seasonChoice;
    public JPanel contentPanel;
    public JPanel superPanel;

    public Vue(Controleur c) {
	controleur = c;

	// construction de l'interface graphique
	buildGUI();
    }

    public void buildGUI() {
	setTitle(&quot;Series Watcher v0.1&quot;);
	superPanel = new JPanel();
	BoxLayout bL = new BoxLayout(superPanel, BoxLayout.Y_AXIS);
	superPanel.setLayout(bL);
	add(superPanel);

	serieChoice = new JComboBox(new String[]{&quot;Lost&quot;, &quot;PrisonBreak&quot;, &quot;DesperateHousewives&quot;});
	serieChoice.addActionListener(new ActionListener() {
	    @Override
	    public void actionPerformed(ActionEvent e) {
		controleur.updateSerie();
	    }
	});
	seasonChoice = new JComboBox();
	JScrollPane jScrollPane = new JScrollPane();
	contentPanel = new JPanel();

	jScrollPane.add(contentPanel);

	superPanel.add(serieChoice);
	superPanel.add(seasonChoice);
	superPanel.add(jScrollPane);
    }

    public void showSeasonList(int nbSeasons) {
	seasonChoice.removeAllItems();
	for(int i = 0; i &lt; nbSeasons; i++)
	    seasonChoice.addItem(&quot;Season &quot; + (i+1));
    }
}
</pre>
<p>Affichage classe modele</p>
<pre class="brush: java;">

public class Modele {
    public Controleur controleur;

    public Modele(Controleur c) {
	controleur = c;
    }
}
</pre>
<p>Affichage de la classe controlleur</p>
<pre class="brush: java;">

public class Controleur {
    public Vue vue;
    public Modele modele;

    public void updateSerie() {
	String serieName = (String) vue.serieChoice.getSelectedItem();
	Serie serie = Serie.serieBuilder(serieName);
	vue.showSeasonList(serie.seasonsList.size());
    }

    public void setVue(Vue v) {
	vue = v;
    }
    public void setModele(Modele m) {
	modele = m;
    }
}
</pre>
<p>note: il ne s&#8217;agit que d&#8217;une première version non finale de Serieswatcher. De nombreuses fonctionnalités doivent y être pensées et développées. Cette première version permet de se frotter à un premier projet de conception un peu plus costaud que de simples exercices d&#8217;algorithmes. Exercices sur les expressions régulières, la classe urlconnection pour récupérer le contenu d&#8217;une page web.</p><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>7 octobre 2009 -- <a href="http://www.java-formation.com/creer-jeu-puissance-4-en-java" title="Créer jeu puissance 4 en java">Créer jeu puissance 4 en java</a> (0)</li><li>9 décembre 2009 -- <a href="http://www.java-formation.com/schemas-classes-swing" title="Schémas Classes Swing">Schémas Classes Swing</a> (0)</li><li>7 décembre 2009 -- <a href="http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton" title="ActionListener: écouteur événements JButton">ActionListener: écouteur événements JButton</a> (0)</li><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>5 décembre 2009 -- <a href="http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks" title="Comment mettre écouteur événements dans Jframe, gestion clicks">Comment mettre écouteur événements dans Jframe, gestion clicks</a> (0)</li><li>3 décembre 2009 -- <a href="http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing" title="Gui: Fenêtre avec écouteur événement (Swing)">Gui: Fenêtre avec écouteur événement (Swing)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/4-tutoriels-en-francais-sur-les-bases-de-donnees-avec-java" title="4 tutoriels en français sur les bases de données avec java">4 tutoriels en français sur les bases de données avec java</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/classes-abstraites-modificateur-abstract-class-methodes" title="Classes abstraites: modificateur abstract class + méthodes">Classes abstraites: modificateur abstract class + méthodes</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/serieswatcher-alertes-series-tv/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jeu loterie euromillions: (chiffres et étoiles) (2)</title>
		<link>http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2</link>
		<comments>http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2#comments</comments>
		<pubDate>Mon, 30 Nov 2009 19:07:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[calculs traitements]]></category>
		<category><![CDATA[debutant]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=642</guid>
		<description><![CDATA[Ici on complète la loterie euro millions. Lors de l’exécution du programme, nous avons le choix entre deux types de jeux différents. Le premier, classique propose à l’utilisateur de tenter de trouver la bonne combinaison de chiffres et étoiles. Le deuxième jeu propose au joueur de proposer sa combinaison de chiffre et étoiles, et l’ordinateur [...]]]></description>
			<content:encoded><![CDATA[<p>Ici on complète la loterie euro millions. Lors de l’exécution du programme, nous avons le choix entre deux types de jeux différents. Le premier, classique propose à l’utilisateur de tenter de trouver la bonne combinaison de chiffres et étoiles. Le deuxième jeu propose au joueur de proposer sa combinaison de chiffre et étoiles, et l’ordinateur se charge de tenter de retrouver la bonne combinaison euro million. Le joueur détermine le nombre de tentatives que l’ordinateur peut effectuer.</p>
<pre class="brush: java;">
// Version non finale de la classe loterie
package Lotterie;

import java.util.Scanner;

public class Loterie {
    public static void main(String[] args) {
	GUI maVue = new GUI();
	maVue.pack();
	maVue.setVisible(true);

	/**
	 * A utiliser :
	 * JTextField, JLabel, JPanel, JButton ...
	 */
	System.out.println(&quot; Tapez 1 pour jouer à euromillion&quot;);
	System.out
	.println(&quot; Tapez 2 pour que l'ordinateur essaye de trouver un tirage que vous avez choisis &quot;);

	Scanner scan2 = new Scanner(System.in);
	int choixJeu = scan2.nextInt();
	if (choixJeu == 1) {
	    int[] resTab = new int[7];
	    resTab[4] = 0;
	    int i = 0;
	    // on va générer 5 chiffres et 2 étoiles de l'euro millions à l'aide de deux boucles de type while
	    while (i &lt; 5) {
		int rand = ((int) (Math.random() * 50)) + 1; // méthode random de l'objet Math pour générer un chiffre aléatoire
		if (!isIntPresent(rand, resTab)) {
		    resTab[i] = rand;
		    i++;
		}
	    }
	    while (i &lt; 7) {
		int rand = ((int) (Math.random() * 9)) + 1;
		if (!isIntPresent(rand, resTab)) {
		    resTab[i] = rand;
		    i++;
		}
	    }
	    System.out.println();

	    // *********************************************************************************************************************************//

	    // jouer
	    int[] tabNumPlayer = new int[7];
	    Scanner sc = new Scanner(System.in);
	    Scanner sc2 = new Scanner(System.in);
	    for (int k = 0; k &lt; 5; k++) {
		System.out.println(&quot;Entrez un chiffre de 1 à 50 inclus&quot;);
		int nums = sc.nextInt();
		while (nums &gt; 50) {//simple mesure de sécurité au cas ou le joueur entre un chiffre trop grand, à améliorer
		    System.out
		    .println(&quot;VOUS ÊTES TROMPE, ENTREZ UN CHIFFRE ENTRE 1 ET 50 !&quot;);
		    nums = sc2.nextInt();
		}
		tabNumPlayer[k] = nums;
		if (k == 4) {
		    for (int j = 0; j &lt; 2; j++) {
			k++;
			System.out.println(&quot;Entrez une étoile de 1 à 9 inclus&quot;);
			int numsEtoiles = sc2.nextInt();
			while (numsEtoiles &gt; 9) {
			    System.out
			    .println(&quot; VOUS ÊTES TROMPE, ENTREZ UN CHIFFRE ENTRE 1 ET 9 ! &quot;);
			    numsEtoiles = sc2.nextInt();
			}
			tabNumPlayer[k] = numsEtoiles;
		    }
		}
	    }
	    // *********************************************************************************************************************************//
	    bonsChiffres(tabNumPlayer, resTab);

	} else {
	    inverseLotterie(); // appel méthode inverseLotterie
	}

    }

    // Sorti de la méthode
    // main****************************************************************

    // Méthode qui permet de générer une grille de numéros et étoiles appartenant à l'utilisateur
    public static int[] grilleJoueur(){
	Scanner scan= new Scanner(System.in); // instance de l'objet Scanner
	int[] tabGrille= new int[7];
	int i=0;
	while (i&lt;5){
	    System.out.println(&quot;Veuillez entrer un chiffre entre 1 et 50&quot;);
	    int chiffres=scan.nextInt(); //nextInt méthode appartenant à l'objet Scanner
	    if (chiffres&gt;0 | chiffres&gt;51){
		System.out.println(&quot;Vous n'avez pas respecter les consignes, fin du jeu&quot;);
		break;
	    }
	    tabGrille[i]= chiffres;
	    i++;
	}
	while (i&lt;7){
	    System.out.println(&quot;Veuillez entrer un chiffre entre 1 et 9&quot;);
	    int chiffres=scan.nextInt();
	    if (chiffres&gt;0 | chiffres&gt;51){
		System.out.println(&quot;Vous n'avez pas respecter les consignes, fin du jeu&quot;);
		break;
	    }
	    tabGrille[i]= chiffres;
	    i++;
	}
	return tabGrille;
    }

    // Méthode qui permet de vérifier si un chiffre se trouve dans un tableau
    public static boolean isIntPresent(int num, int[] tab) {
	for (int i = 0; i &lt; tab.length; i++) {
	    if (tab[i] == num) {
		return true;
	    }
	}
	return false;
    }

    // Méthode qui compare 2 tableaux et qui compte le nombre de bons chiffres
    // et de bonnes étoiles
    public static boolean bonsChiffres(int[] tabNumPlayer, int[] resTab) {
	int bonsChiffres = 0;
	int bonnesEtoiles = 0;
	int nbreChiffresCumules = 0;
	int nbreEtoilesCumules = 0;
	for (int i = 0; i &lt; 5; i++) {
	    for (int j = 0; j &lt; 5; j++) {

		//en résumé, les chiffres présents dans un tableau sont comparés aux chiffres proposés dans un second tableau

		if (tabNumPlayer[i] == resTab[j]) {
		    bonsChiffres++;
		    nbreChiffresCumules += bonsChiffres;
		}
	    }
	}
	for (int i = 5; i &lt; 7; i++) {
	    for (int j = 5; j &lt; 7; j++) {

		if (tabNumPlayer[i] == resTab[j]) {
		    bonnesEtoiles++;
		    nbreEtoilesCumules += bonnesEtoiles;
		}
	    }
	}
	System.out.println();
	System.out.println(&quot; Vous avez &quot; + bonsChiffres + &quot; bons chiffres&quot;
		+ &quot; Et &quot; + bonnesEtoiles + &quot; bonnes étoiles&quot;);

	return false;
    }

    // le joueur donne une combinaison que l'ordinateur doit deviner. cette méthode sert à cela
    public static void inverseLotterie() {
	int[] tabNumPlayer = new int[7];
	Scanner sc = new Scanner(System.in);
	Scanner sc2 = new Scanner(System.in);
	for (int k = 0; k &lt; 5; k++) {
	    System.out.println(&quot;Entrez un chiffre de 1 à 50 inclus&quot;);
	    int nums = sc.nextInt();
	    while (nums &gt; 50) {
		// TODO corriger gestion erreurs (si &lt; 1 : erreur, si pas int :
		// exception)
		System.out
		.println(&quot;VOUS ÊTES TROMPE, ENTREZ UN CHIFFRE ENTRE 1 ET 50 !&quot;);
		nums = sc2.nextInt();
	    }
	    tabNumPlayer[k] = nums;
	    if (k == 4) {
		for (int j = 0; j &lt; 2; j++) {
		    k++;
		    System.out.println(&quot;Entrez une étoile de 1 à 9 inclus&quot;);
		    int numsEtoiles = sc2.nextInt();
		    while (numsEtoiles &gt; 9) {
			System.out
			.println(&quot; VOUS ÊTES TROMPE, ENTREZ UN CHIFFRE ENTRE 1 ET 9 ! &quot;);
			numsEtoiles = sc2.nextInt();
		    }
		    tabNumPlayer[k] = numsEtoiles;
		}
	    }
	}
	// on créer un tableau de numéro aléatoire autant de fois que de nombre
	// de grilles autoirsées par l'utilisateur
	System.out.println(&quot;Combien de grilles l'ordinateur peut-il jouer ?&quot;);
	Scanner sc3 = new Scanner(System.in);
	int nbreGrilles = sc3.nextInt();

	// sommes à conserver (pour calculer la moyenne)
	int nbreChiffresCumules = 0;
	int nbreEtoilesCumules = 0;
	int rang1 = 0;
	int rang2 = 0;
	int rang3 = 0;
	int rang4 = 0;
	int rang5 = 0;
	int rang6 = 0;
	int rang7 = 0;
	int rang8 = 0;
	int rang9 = 0;
	int rang10 = 0;
	int rang11 = 0;
	int rang12 = 0;

	for (int a = 0; a &lt; nbreGrilles; a++) {
	    // pour enregistrer le nombre de bons chiffres/étoiles au sein d'une
	    // seule boucle
	    int bonsChiffres = 0;
	    int bonnesEtoiles = 0;

	    //System.out.println();
	    int[] resTab = new int[7];
	    resTab[4] = 0; // TODO normalement à commenter
	    int i = 0;
	    while (i &lt; 5) {
		int rand = ((int) (Math.random() * 50)) + 1;
		if (!isIntPresent(rand, resTab)) {
		    resTab[i] = rand;
		    //System.out.print(resTab[i] + &quot; &quot;);
		    i++;
		}
	    }
	    //System.out.print(&quot; | &quot;);
	    while (i &lt; 7) {
		int rand = ((int) (Math.random() * 9)) + 1;
		if (!isIntPresent(rand, resTab)) {
		    resTab[i] = rand;
		    //System.out.print(resTab[i] + &quot; &quot;);
		    i++;
		}
	    }
	    // on compare le tabaleau crée avec le tableau de chiffres proposés
	    // par l'utilisateur
	    // et on compte le nombre de bonne étoile

	    bonsChiffres = 0;
	    for (int z = 0; z &lt; 5; z++) {
		for (int j = 0; j &lt; 5; j++)
		    if (tabNumPlayer[z] == resTab[j])
			bonsChiffres++;
	    }
	    nbreChiffresCumules += bonsChiffres;
	    //System.out.print(&quot;   n°bons chiffres = &quot; + bonsChiffres + &quot;  &quot;);

	    bonnesEtoiles = 0;
	    for (int z = 5; z &lt; 7; z++) {
		for (int j = 5; j &lt; 7; j++)
		    if (tabNumPlayer[z] == resTab[j])
			bonnesEtoiles++;
	    }
	    nbreEtoilesCumules += bonnesEtoiles;
	    //System.out.println(&quot; n°bonnes étoiles = &quot; + bonnesEtoiles);

	    // ici, on connait le nombre de bons chiffres et de bonnes étoiles, on construit les differents rangs.
	    if(bonsChiffres == 5 &amp;&amp; bonnesEtoiles == 2) {
		rang1++;
	    }

	    if(bonsChiffres == 5 &amp;&amp; bonnesEtoiles == 1) {
		rang2++;
	    }
	    if(bonsChiffres == 5 &amp;&amp; bonnesEtoiles == 0) {
		rang3++;
	    }
	    if(bonsChiffres == 4 &amp;&amp; bonnesEtoiles == 2) {
		rang4++;
	    }
	    if(bonsChiffres == 4 &amp;&amp; bonnesEtoiles == 1) {
		rang5++;
	    }
	    if(bonsChiffres == 4 &amp;&amp; bonnesEtoiles == 0) {
		rang6++;
	    }
	    if(bonsChiffres == 3 &amp;&amp; bonnesEtoiles == 2) {
		rang7++;
	    }
	    if(bonsChiffres == 3 &amp;&amp; bonnesEtoiles == 1) {
		rang8++;
	    }
	    if(bonsChiffres == 3 &amp;&amp; bonnesEtoiles == 0) {
		rang9++;
	    }
	    if(bonsChiffres == 2 &amp;&amp; bonnesEtoiles == 2) {
		rang10++;
	    }
	    if(bonsChiffres == 2 &amp;&amp; bonnesEtoiles == 1) {
		rang11++;
	    }
	    if(bonsChiffres == 2 &amp;&amp; bonnesEtoiles == 0) {
		rang12++;
	    }
	}
	// combien de chiffres et d'étoiles l'ordinateur à t'il trouvé en moyenne ?
	double moyenneChiffres = ((double) nbreChiffresCumules / nbreGrilles);
	double moyenneEtoiles = ((double) nbreEtoilesCumules / nbreGrilles);
	System.out.println();
	System.out.println(&quot; En moyenne par tirage, l'ordinateur à trouvé  &quot;
		+ moyenneChiffres + &quot; bons chiffres et &quot; + moyenneEtoiles
		+ &quot; bonnes étoiles &quot;);
	// on affiche les résultats finales du tirage, autrement dit, combien l'ordinateur à trouvé de bons chiffres et de bonnes étoiles
	System.out.println();
	System.out.println( &quot;Résultats de rang 1  : &quot; + rang1);
	System.out.println( &quot;Résultats de rang 2  : &quot; + rang2);
	System.out.println( &quot;Résultats de rang 3  : &quot; + rang3);
	System.out.println( &quot;Résultats de rang 4  : &quot; + rang4);
	System.out.println( &quot;Résultats de rang 5  : &quot; + rang5);
	System.out.println( &quot;Résultats de rang 6  : &quot; + rang6);
	System.out.println( &quot;Résultats de rang 7  : &quot; + rang7);
	System.out.println( &quot;Résultats de rang 8  : &quot; + rang8);
	System.out.println( &quot;Résultats de rang 9  : &quot; + rang9);
	System.out.println( &quot;Résultats de rang 10 : &quot; + rang10);
	System.out.println( &quot;Résultats de rang 11 : &quot; + rang11);
	System.out.println( &quot;Résultats de rang 12 : &quot; + rang12);
    }
}
</pre>
<p>Suggestions améliorations jeu euro millions à apporter pour les prochaines versions :<br />
•	Améliorer la gestion des erreurs et exceptions lorsque l’utilisateur entre ses chiffres (avec bloc try catch)<br />
•	Créer une interface graphique avec swing pour le jeu<br />
•	Améliorer les statistiques (tableau de résultats final)  dans le jeu numéro 1 lorsque le joueur doit deviner une grille euro million générée par l’ordinateur.<br />
•	Crée un système d’argent (au lieu de demander combien de tentatives ou combien de grilles, on demande pour combien d’euros l’utilisateur désir-il jouer à euro million.</p><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/calculer-moyenne-dentiers-exemple-gestion-erreursexeptions" title="Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions">Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions</a> (0)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/classe-simple-qui-gere-promotion-commerciale-calcul-de-reduction" title="Classe simple qui gère promotion commerciale: calcul de réduction">Classe simple qui gère promotion commerciale: calcul de réduction</a> (0)</li><li>26 août 2009 -- <a href="http://www.java-formation.com/exercice-sur-les-nombres-pairs-avec-utilisation-modulo" title="Exercice sur les nombres pairs (avec utilisation modulo)">Exercice sur les nombres pairs (avec utilisation modulo)</a> (0)</li><li>9 décembre 2009 -- <a href="http://www.java-formation.com/schemas-classes-swing" title="Schémas Classes Swing">Schémas Classes Swing</a> (0)</li><li>7 décembre 2009 -- <a href="http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton" title="ActionListener: écouteur événements JButton">ActionListener: écouteur événements JButton</a> (0)</li><li>5 décembre 2009 -- <a href="http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks" title="Comment mettre écouteur événements dans Jframe, gestion clicks">Comment mettre écouteur événements dans Jframe, gestion clicks</a> (0)</li><li>3 décembre 2009 -- <a href="http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing" title="Gui: Fenêtre avec écouteur événement (Swing)">Gui: Fenêtre avec écouteur événement (Swing)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/serieswatcher-alertes-series-tv" title="Serieswatcher: Alertes mes séries tv préférées">Serieswatcher: Alertes mes séries tv préférées</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</title>
		<link>http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles</link>
		<comments>http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles#comments</comments>
		<pubDate>Mon, 30 Nov 2009 18:28:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[calculs traitements]]></category>
		<category><![CDATA[debutant]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=639</guid>
		<description><![CDATA[Nouveau mini projet java créer jeu java : une loterie qui ressemble à la loterie euro millions. Cet exercice va permettre de s’exercer sur le fonctionnement des boucles, utilisation de l’objet Math pour générer des chiffres aléatoire. Cet exercice permet aussi de s’exercer sur la création de méthodes java personnelles, selon ses besoins propres.
But du [...]]]></description>
			<content:encoded><![CDATA[<p>Nouveau mini projet java créer jeu java : une loterie qui ressemble à la loterie euro millions. Cet exercice va permettre de s’exercer sur le fonctionnement des boucles, utilisation de l’objet Math pour générer des chiffres aléatoire. Cet exercice permet aussi de s’exercer sur la création de méthodes java personnelles, selon ses besoins propres.<br />
But du jeu : On commence simplement par créer une méthode tirage :</p>
<pre class="brush: java;">
package Lotterie;

public class TirageMethode {
	public static int[] Tirage(){
	    // on instancie un tableau de type Integer[] avec 7entrés
	    // qui correspondront aux sept chiffre à trouver (5chiffres + 2étoiles)

		int[] tabTirage= new int[7];
		int i=0;
		while (i&lt;5){
		    //Utilisation méthode random sur objet Math pour générer un chiffre aléatoire
			int rand=((int)(Math.random())*50)+1;
			// méthode isIntPresent qui vérifie si un int est présent dans un tableau
			// et renvoi une réponse de type booléene
			if(!isIntPresent(rand,tabTirage)){
				tabTirage[i]=rand;
				i++;
			}
		}
		// ici i=4, à partir d'ici on génère des chiffres de 1 à 9 (sur 2 tours de boucle)
		while (i&lt;7){
			int rand=((int)(Math.random())*8)+1;
			if(!isIntPresent(rand,tabTirage)){
				tabTirage[i]=rand;
				i++;
			}
		}
		// retourne un tableau de int[] qui correspond aux chiffres générés par le tirage
		return tabTirage;
	}
	// méthode qui retourne soit true si le chiffre est présent dans le tableau, soit false si le int n'est pas présent
	public static boolean isIntPresent (int n, int[]tab){
		for (int i=0;i&lt;tab.length;i++){
			if(tab[i]==n){
				return true;
			}
		}return false;
	}
}
</pre><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/calculer-moyenne-dentiers-exemple-gestion-erreursexeptions" title="Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions">Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions</a> (0)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/classe-simple-qui-gere-promotion-commerciale-calcul-de-reduction" title="Classe simple qui gère promotion commerciale: calcul de réduction">Classe simple qui gère promotion commerciale: calcul de réduction</a> (0)</li><li>26 août 2009 -- <a href="http://www.java-formation.com/exercice-sur-les-nombres-pairs-avec-utilisation-modulo" title="Exercice sur les nombres pairs (avec utilisation modulo)">Exercice sur les nombres pairs (avec utilisation modulo)</a> (0)</li><li>9 décembre 2009 -- <a href="http://www.java-formation.com/schemas-classes-swing" title="Schémas Classes Swing">Schémas Classes Swing</a> (0)</li><li>7 décembre 2009 -- <a href="http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton" title="ActionListener: écouteur événements JButton">ActionListener: écouteur événements JButton</a> (0)</li><li>5 décembre 2009 -- <a href="http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks" title="Comment mettre écouteur événements dans Jframe, gestion clicks">Comment mettre écouteur événements dans Jframe, gestion clicks</a> (0)</li><li>3 décembre 2009 -- <a href="http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing" title="Gui: Fenêtre avec écouteur événement (Swing)">Gui: Fenêtre avec écouteur événement (Swing)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/serieswatcher-alertes-series-tv" title="Serieswatcher: Alertes mes séries tv préférées">Serieswatcher: Alertes mes séries tv préférées</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</title>
		<link>http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence</link>
		<comments>http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence#comments</comments>
		<pubDate>Mon, 30 Nov 2009 18:05:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[calculs traitements]]></category>
		<category><![CDATA[debutant]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=637</guid>
		<description><![CDATA[Choisir un chiffre de filtrage : parser tableau pour vérifier présence d’un chiffre

package Chapitre2;
import java.util.Scanner;

public class Ex2_6_bis {

    public static void main(String[] args) {
	Scanner scan=new Scanner(System.in);
	int[] tab=new int[5];
	for(int i=0;i&#60;tab.length;i++){
	    tab[i]=(int) (Math.random() *10 + 1);
	    System.out.print(tab[i]);
	    System.out.print(&#34; &#34;);
	}
	System.out.println(&#34;Entrer un chiffre de filtrage&#34;);
	int choix=scan.nextInt();

	int[] restab=new [...]]]></description>
			<content:encoded><![CDATA[<p>Choisir un chiffre de filtrage : parser tableau pour vérifier présence d’un chiffre</p>
<pre class="brush: java;">
package Chapitre2;
import java.util.Scanner;

public class Ex2_6_bis {

    public static void main(String[] args) {
	Scanner scan=new Scanner(System.in);
	int[] tab=new int[5];
	for(int i=0;i&lt;tab.length;i++){
	    tab[i]=(int) (Math.random() *10 + 1);
	    System.out.print(tab[i]);
	    System.out.print(&quot; &quot;);
	}
	System.out.println(&quot;Entrer un chiffre de filtrage&quot;);
	int choix=scan.nextInt();

	int[] restab=new int[5];
	int i = 0;
	int j = 0;
	boolean premierRemplacementFait = false;
	while(i &lt; tab.length) {
	    if(tab[i] != choix || premierRemplacementFait) {
		restab[j] = tab[i];
		j++;
	    } else {
		premierRemplacementFait = true;
	    }
	    i++;
	}
	for(i = 0; i &lt; j; i++){
	    System.out.print(restab[i]);
	    System.out.print(&quot; &quot;);
	}
    }
}
</pre><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux" title="Calculler moyenne de 5 chiffres entiers entrés dans des tableaux">Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/calculer-moyenne-dentiers-exemple-gestion-erreursexeptions" title="Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions">Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions</a> (0)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/classe-simple-qui-gere-promotion-commerciale-calcul-de-reduction" title="Classe simple qui gère promotion commerciale: calcul de réduction">Classe simple qui gère promotion commerciale: calcul de réduction</a> (0)</li><li>26 août 2009 -- <a href="http://www.java-formation.com/exercice-sur-les-nombres-pairs-avec-utilisation-modulo" title="Exercice sur les nombres pairs (avec utilisation modulo)">Exercice sur les nombres pairs (avec utilisation modulo)</a> (0)</li><li>9 décembre 2009 -- <a href="http://www.java-formation.com/schemas-classes-swing" title="Schémas Classes Swing">Schémas Classes Swing</a> (0)</li><li>7 décembre 2009 -- <a href="http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton" title="ActionListener: écouteur événements JButton">ActionListener: écouteur événements JButton</a> (0)</li><li>5 décembre 2009 -- <a href="http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks" title="Comment mettre écouteur événements dans Jframe, gestion clicks">Comment mettre écouteur événements dans Jframe, gestion clicks</a> (0)</li><li>3 décembre 2009 -- <a href="http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing" title="Gui: Fenêtre avec écouteur événement (Swing)">Gui: Fenêtre avec écouteur événement (Swing)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/serieswatcher-alertes-series-tv" title="Serieswatcher: Alertes mes séries tv préférées">Serieswatcher: Alertes mes séries tv préférées</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calculler moyenne de 5 chiffres entiers entrés dans des tableaux</title>
		<link>http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux</link>
		<comments>http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux#comments</comments>
		<pubDate>Mon, 30 Nov 2009 17:59:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[calculs traitements]]></category>
		<category><![CDATA[debutant]]></category>

		<guid isPermaLink="false">http://www.java-formation.com/?p=635</guid>
		<description><![CDATA[
package Chapitre2;
import java.util.Scanner;

public class Ex2_1 {

    public static void main (String[] args){
	Scanner scan= new Scanner(System.in);
	System.out.println(&#34;Entrer 5chiffres svp&#34;);
	int[]tab=new int[5];
	//récupération des numéros entrés
	int num1 = scan.nextInt();
	int num2 = scan.nextInt();
	int num3 = scan.nextInt();
	int num4 = scan.nextInt();
	int num5 = scan.nextInt();
	//chiffres reçus entrés dans le tableau tab
	tab[0]= num1;
	tab[1]= num2;
	tab[2]= num3;
	tab[3]= num4;
	tab[4]= num5;
	// calcule de la moyenne des [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: java;">
package Chapitre2;
import java.util.Scanner;

public class Ex2_1 {

    public static void main (String[] args){
	Scanner scan= new Scanner(System.in);
	System.out.println(&quot;Entrer 5chiffres svp&quot;);
	int[]tab=new int[5];
	//récupération des numéros entrés
	int num1 = scan.nextInt();
	int num2 = scan.nextInt();
	int num3 = scan.nextInt();
	int num4 = scan.nextInt();
	int num5 = scan.nextInt();
	//chiffres reçus entrés dans le tableau tab
	tab[0]= num1;
	tab[1]= num2;
	tab[2]= num3;
	tab[3]= num4;
	tab[4]= num5;
	// calcule de la moyenne des 5 chiffres entrés + affichage
	double moyenne= (tab[0]+tab[1]+tab[2]+tab[3]+tab[4])/5;
	System.out.println(moyenne);
    }
}
</pre><h2  class="related_post_title">Articles relatifs</h2><ul class="related_post"><li>6 décembre 2009 -- <a href="http://www.java-formation.com/compter-nombre-doccurences-de-traitements-en-incrementant-simple-variable" title="Compter nombre d&#8217;occurences de traitements en incrémentant simple variable">Compter nombre d&#8217;occurences de traitements en incrémentant simple variable</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-loterie-euromillions-chiffres-et-etoiles-2" title="Jeu loterie euromillions: (chiffres et étoiles) (2)">Jeu loterie euromillions: (chiffres et étoiles) (2)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/jeu-lotterie-euromillions-methode-tirage-chiffres-et-etoiles" title="Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)">Jeu loterie euromillions: Méthode tirage (chiffres et étoiles) (1)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/choisir-chiffre-a-filtrer-parser-tableau-controle-doccurence" title="Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence">Choisir chiffre à filtrer: parser tableau contrôle d&#8217;occurence</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/630" title="Chiffre Mystère: Méthode random de l&#8217;objet de type Math">Chiffre Mystère: Méthode random de l&#8217;objet de type Math</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/recuperer-retour-methode" title="Récupérer retour méthode">Récupérer retour méthode</a> (0)</li><li>14 octobre 2009 -- <a href="http://www.java-formation.com/calculatrice-java-faire-une-calculette-simple" title="Calculatrice java: faire une calculette simple">Calculatrice java: faire une calculette simple</a> (1)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/calculer-moyenne-dentiers-exemple-gestion-erreursexeptions" title="Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions">Calculer moyenne d&#8217;entiers + exemple gestion erreurs/exeptions</a> (0)</li><li>19 septembre 2009 -- <a href="http://www.java-formation.com/classe-simple-qui-gere-promotion-commerciale-calcul-de-reduction" title="Classe simple qui gère promotion commerciale: calcul de réduction">Classe simple qui gère promotion commerciale: calcul de réduction</a> (0)</li><li>26 août 2009 -- <a href="http://www.java-formation.com/exercice-sur-les-nombres-pairs-avec-utilisation-modulo" title="Exercice sur les nombres pairs (avec utilisation modulo)">Exercice sur les nombres pairs (avec utilisation modulo)</a> (0)</li><li>9 décembre 2009 -- <a href="http://www.java-formation.com/schemas-classes-swing" title="Schémas Classes Swing">Schémas Classes Swing</a> (0)</li><li>7 décembre 2009 -- <a href="http://www.java-formation.com/actionlistener-ecouteur-evenements-jbutton" title="ActionListener: écouteur événements JButton">ActionListener: écouteur événements JButton</a> (0)</li><li>5 décembre 2009 -- <a href="http://www.java-formation.com/comment-mettre-ecouteur-evenements-dans-jframe-gestion-clicks" title="Comment mettre écouteur événements dans Jframe, gestion clicks">Comment mettre écouteur événements dans Jframe, gestion clicks</a> (0)</li><li>3 décembre 2009 -- <a href="http://www.java-formation.com/gui-fenetre-avec-ecouteur-evenement-swing" title="Gui: Fenêtre avec écouteur événement (Swing)">Gui: Fenêtre avec écouteur événement (Swing)</a> (0)</li><li>30 novembre 2009 -- <a href="http://www.java-formation.com/serieswatcher-alertes-series-tv" title="Serieswatcher: Alertes mes séries tv préférées">Serieswatcher: Alertes mes séries tv préférées</a> (0)</li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.java-formation.com/calculler-moyenne-de-5-chiffres-entiers-entres-dans-des-tableaux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
