Applet en Java : méthode start()
Utilisateur anonyme
-
saber07 Messages postés 116 Date d'inscription Statut Membre Dernière intervention -
saber07 Messages postés 116 Date d'inscription Statut Membre Dernière intervention -
Salut tout le monde ^^
Voila je vais pas y aller par 4 chemins, je n'arrive pas à comprendre l'utilité d'une méthode....
En fait en TD, on a vu le code d'un applet qui dessine un ptit carré qui se déplace aléatoirement, et le truc c'est que quand on arrive à cliquer dedans, on a un point de plus à notre score (qui s'affiche en haut à gauche) ! Bien plus fun et intéressant que n'importe quel jeu vidéo pas vrai ^^
Voici donc le code (qui fonctionne, je le précise ;-) :
Donc je comprends à quoi sert tout, sauf la méthode start() ^^
paint() est ce qui affiche l'applet et c'est la méthode appelé par repaint(),
init() c'est une sorte de "constructeur" où on initialise l'applet avec toutes sortes de paramètres, et ici notre classe est son propre observateur,
j'ai pigé tous les observateurs et les Listeners utilisés,
MAIS !
Je n'arrive pas à piger l'utilité de start()...
Alors j'ai bien cherché sur Internet, ou je tombe sur des tonnes de trucs qui apprennent à utiliser paint() et init(), mais pour start() aucun commentaire, les types utilisent ce truc sans réellement expliquer ce que ça fait....
Le seul truc à peu près correct que j'ai trouvé, c'est : "start() est appelée juste après init(). Elle est aussi appelée si l'utilisateur revient à une page web après avoir visité une autre page." Donc la première phrase je comprends ^^ mais la 2ème.....:-/
Donc si une âme charitable pouvait m'expliquer ce point de Java, je lui en serait infiniment reconnaissant...
Et en fait j'ai encore 2-3 autres questions ^^
Par exemple, alors qu'on doit mettre "NOTRE_CLASSE blabla implements ActionListener, KeyListener, MouseListner" et qu'on doit reféfinir toutes les méthodes des 3 interfaces, pourquoi est-ce qu'on a seulement :
Moi pas comprendre, y'a pas besoin de mettre addActionListener ? Il est passé ou ? C'est l'exception qui confirme la règle ou quoi ? Ouiiiiiiiiiiiiin je comprends pas ^^
Parce qu'il me semble avoir lu quelque part que Timer nécessite une cible qui écoute les ActionEvent; or ici (puisque la cible est "this") on n'a pas de addActionListener alors je comprends plus trop là...
Enfin voila, j'espère que quelqu'un aura la bonté de m'aider un peu ^^ merci d'avance !
Voila je vais pas y aller par 4 chemins, je n'arrive pas à comprendre l'utilité d'une méthode....
En fait en TD, on a vu le code d'un applet qui dessine un ptit carré qui se déplace aléatoirement, et le truc c'est que quand on arrive à cliquer dedans, on a un point de plus à notre score (qui s'affiche en haut à gauche) ! Bien plus fun et intéressant que n'importe quel jeu vidéo pas vrai ^^
Voici donc le code (qui fonctionne, je le précise ;-) :
import javax.swing.JApplet; import java.awt.Graphics; import java.awt.Point; import javax.swing.Timer; import java.awt.event.*; public class Jeu extends JApplet implements ActionListener, KeyListener, MouseListener{ int taille = 30; int score = 0; Point position = new Point(50,50); Timer minuteur; public void init(){ addMouseListener(this); addKeyListener(this); } public void start(){ //Création d'un Timer qui génère "this" chaque 100 millième de seconde Timer minuteur = new Timer(100,this); minuteur.start(); } //callback pour le minuteur public void actionPerformed(ActionEvent evt) { repaint(); } public void keyPressed(KeyEvent e) { System.out.println("event : " + e); } public void keyReleased(KeyEvent e) {} public void keyTyped(KeyEvent e) {} public void mouseClicked(MouseEvent e) { if(e.getX()>position.x && e.getX()<position.x+taille && e.getY()>position.y && e.getY()<position.y+taille) score++; } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void paint(Graphics g){ g.clearRect(0, 0, getWidth(), getHeight()); g.drawString("score : " + score, 10, 10); g.drawRect(position.x, position.y, taille, taille); position.x += (int)(Math.random()*5)-2; position.y += (int)(Math.random()*5)-2; requestFocus(); } }
Donc je comprends à quoi sert tout, sauf la méthode start() ^^
paint() est ce qui affiche l'applet et c'est la méthode appelé par repaint(),
init() c'est une sorte de "constructeur" où on initialise l'applet avec toutes sortes de paramètres, et ici notre classe est son propre observateur,
j'ai pigé tous les observateurs et les Listeners utilisés,
MAIS !
Je n'arrive pas à piger l'utilité de start()...
Alors j'ai bien cherché sur Internet, ou je tombe sur des tonnes de trucs qui apprennent à utiliser paint() et init(), mais pour start() aucun commentaire, les types utilisent ce truc sans réellement expliquer ce que ça fait....
Le seul truc à peu près correct que j'ai trouvé, c'est : "start() est appelée juste après init(). Elle est aussi appelée si l'utilisateur revient à une page web après avoir visité une autre page." Donc la première phrase je comprends ^^ mais la 2ème.....:-/
Donc si une âme charitable pouvait m'expliquer ce point de Java, je lui en serait infiniment reconnaissant...
Et en fait j'ai encore 2-3 autres questions ^^
Par exemple, alors qu'on doit mettre "NOTRE_CLASSE blabla implements ActionListener, KeyListener, MouseListner" et qu'on doit reféfinir toutes les méthodes des 3 interfaces, pourquoi est-ce qu'on a seulement :
public void init(){ addMouseListener(this); addKeyListener(this); }
Moi pas comprendre, y'a pas besoin de mettre addActionListener ? Il est passé ou ? C'est l'exception qui confirme la règle ou quoi ? Ouiiiiiiiiiiiiin je comprends pas ^^
Parce qu'il me semble avoir lu quelque part que Timer nécessite une cible qui écoute les ActionEvent; or ici (puisque la cible est "this") on n'a pas de addActionListener alors je comprends plus trop là...
Enfin voila, j'espère que quelqu'un aura la bonté de m'aider un peu ^^ merci d'avance !
A voir également:
- Applet en Java : méthode start()
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
12 réponses
start() est un méthodes qui qui démarre un processus systeme pour génère "this" chaque 100 millième de seconde.mais dans ce code il est définit la méthode sans l'utiliser .
Euh mais si on l'utilise !
Puisque j'ai vérifié le code fonctionne, le Timer et start() fonctionnent tous 2 très bien.....
Ne viens pas me faire peur hein ^^ et merci pour ta réponse
Puisque j'ai vérifié le code fonctionne, le Timer et start() fonctionnent tous 2 très bien.....
Ne viens pas me faire peur hein ^^ et merci pour ta réponse
tu essaye de supprimer les code que tu croit q'elle n'est pas necessaire et tu verras le résultat .
peut etre ce code est un extrait d'un autre code.key listener est vraiment non utilisable dans cette application surtous si on fait a l'action de clavier un exception.
peut etre ce code est un extrait d'un autre code.key listener est vraiment non utilisable dans cette application surtous si on fait a l'action de clavier un exception.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui oui je suis d'accord pour le keyListener, il sert un peu à rien ^^ mais bon ça c'est pas grave c'est pr le fun
Par contre le code est d'origine hein, c'est pas juste une partie de code que j'ai ^^
Mais pour le code à supprimer, je vois pas trop....
Par contre le code est d'origine hein, c'est pas juste une partie de code que j'ai ^^
Mais pour le code à supprimer, je vois pas trop....
Le problème c'est que je comprends pas l'utilité de la méthode start() ! Je sais pas si c'est de ça que tu veux parler quand tu dis de supprimer une partie du code, mais en fait ce dont j'aurais besoin c'est d'une définition qui me dise à quoi sert start() si tu veux ^^
Sans compter mes autres questions mdr je suis en plein crise de questions existentielles ce soir ^^
Sans compter mes autres questions mdr je suis en plein crise de questions existentielles ce soir ^^
« Applet » est le nom d’une classe Java contenue dans le package « java.applet ». Tout programme Java destiné à être exécuté au sein d’un navigateur dérive [1] nécessairement de cette classe. Par extension, on appel applet toute sous classe de la classe « Applet ».
La classe Applet implémente plusieurs méthodes. Les principales sont les méthodes « init() », « start() », « stop() » et « destroy() ».
La méthode « init() » est la première méthode appelée une fois l’applet chargée par le navigateur. C’est dans cette fonction que les opérations d’initialisation doivent être effectuées.
La méthode « start() » est exécutée à la suite de la fonction « init() » et chaque fois que l’applet apparaît à l’écran.
La méthode « stop() » est exécutée chaque fois que l’applet disparaît. C’est par exemple le cas lorsque l’utilisateur réduit la fenêtre de son navigateur.
La méthode « destroy() » est exécutée lorsque les ressources utilisées par l’applet doivent être libérées. C’est par exemple le cas lorsque l’utilisateur ferme son navigateur. Avant d’exécuter cette fonction, la méthode « stop() » est systématiquement exécutée.
Les méthodes « init() », « start() », « stop() » et « destroy() » implémentées dans la classe Applet ne font rien, elles peuvent donc être redéfinies sans soucis par les classes héritières de la classe Applet.
La classe Applet implémente plusieurs méthodes. Les principales sont les méthodes « init() », « start() », « stop() » et « destroy() ».
La méthode « init() » est la première méthode appelée une fois l’applet chargée par le navigateur. C’est dans cette fonction que les opérations d’initialisation doivent être effectuées.
La méthode « start() » est exécutée à la suite de la fonction « init() » et chaque fois que l’applet apparaît à l’écran.
La méthode « stop() » est exécutée chaque fois que l’applet disparaît. C’est par exemple le cas lorsque l’utilisateur réduit la fenêtre de son navigateur.
La méthode « destroy() » est exécutée lorsque les ressources utilisées par l’applet doivent être libérées. C’est par exemple le cas lorsque l’utilisateur ferme son navigateur. Avant d’exécuter cette fonction, la méthode « stop() » est systématiquement exécutée.
Les méthodes « init() », « start() », « stop() » et « destroy() » implémentées dans la classe Applet ne font rien, elles peuvent donc être redéfinies sans soucis par les classes héritières de la classe Applet.
yeaaaaaaaaah merci beaucoup ^^
Par contre, pour start(), si c'est ce qui est exécuté chaque fois que l'applet apparait à l'écran, alors c'est un peu la même chose que paint() non ? Parce que si jme rappelle bien, paint est un peu le main() de l'applet, c'est ce qui permet de dessiner l'applet.....un peu comme start().....lol désolé de poser des questions aussi bêtes ^^
En tout cas merci beaucoup pour ton ptit résume très clair !
Par contre, pour start(), si c'est ce qui est exécuté chaque fois que l'applet apparait à l'écran, alors c'est un peu la même chose que paint() non ? Parce que si jme rappelle bien, paint est un peu le main() de l'applet, c'est ce qui permet de dessiner l'applet.....un peu comme start().....lol désolé de poser des questions aussi bêtes ^^
En tout cas merci beaucoup pour ton ptit résume très clair !