Applet, question basic :) [JAVA] - Java - Programmation
Marsh Posté le 03-12-2001 à 22:53:58
Une applet dérive de Applet (AWT) ou de JApplet (SWING). Une applet fonctionne avec une JVM built in dans le browser ou un plugin (le fameux JRE).
Pour l'histoire de main. Lorsque le browser voir un tag <applet> il crée une nouvelle instance de l'applet (constructeur) puis il execute la fonction init() une et une seule fois.
Une fois que c'est fait ton applet est ready à être utilisée. Vala. Si tu es débutant va voir le Java tutorial sur le site de sun http://java.sun.com/doc
mais c en anglais ...
Marsh Posté le 03-12-2001 à 23:20:23
oky, il execute init(), mais init, je dois la redefinir moi meme dnas ma classe ???
...dans le hello world, y a viat pas d init, mais just une fonction paint()
Marsh Posté le 04-12-2001 à 09:39:10
slvn a écrit a écrit : oky, il execute init(), mais init, je dois la redefinir moi meme dnas ma classe ??? ...dans le hello world, y a viat pas d init, mais just une fonction paint() |
Ouais parce que elle est vide dans Applet. Ah c'est toi
Bon j'y vais doucement alors
Si tu as une classe pomme qui définis une méthode manger() et bien si tu as une classe pommeVerte qui étend pomme alors elle a cette méthode manger, meme si tu ne l'ecris pas dans le code. Tu l'écris dans le code si tu veux redéfinir le comportement, du genre
public class pomme
{
public void manger()
{
System.out.println("miam la bonne pomme" );
}
}
public class pommeverte extends pomme
{
public void manger()
{
System.out.println("miam la bonne pomme verte" );
}
}
Bref, tout ca pour dire que ton hello world extends Applet donc il y a une méthode init(). Mais comme on ne veut pas changer son comportement, pas besoin de la définir. En effet, c'est une bete applet qui affiche un msg, pas besoin d'initaliser quoi que ce soit (fichier, socket ou autre) dans ce cas.
Alors si tu n'as pas besoin de faire une initialisation spéciale, tu ne fais rien. Si par contre, ton applet doit intialiser qqch alors tu la redéfinis. Moi j'ai une applet qui permet de revoir des slides de cours synchronisé avec un fichier mp3. Dans l'init de mon applet, j'intialise le fichier d'index et le fichier mp3 en créant une instance d'un player qui va me permettre de rendre l'audio.
Voila c'est clair là ?
Marsh Posté le 04-12-2001 à 16:43:01
je capte tout au niveau de la syntaxe programmation, mais pour l execution de l applet:
il execute Init()
mais alors Init doit executé la methode paint(), qui elle meme possede la fonction system.out.ln("helloworld" ) c ca ?
donc pour ecire un applet faut savoir exactement ce que contient la fonction Init() !?
Marsh Posté le 04-12-2001 à 17:38:50
slvn a écrit a écrit : je capte tout au niveau de la syntaxe programmation, mais pour l execution de l applet: il execute Init() mais alors Init doit executé la methode paint(), qui elle meme possede la fonction system.out.ln("helloworld" ) c ca ? donc pour ecire un applet faut savoir exactement ce que contient la fonction Init() !? |
Euh non Init n'est appelée qu'une seule fois lorsque ton applet est lancée. Elle te permet d'effectuer toutes les initialisations que tu veux, une fois les initialisations faites tu ne fais rien d'autres.
Ensuite pour la méthode paint elle appelée par le JVM ou JRE (bon l'appelant est à confirmer) à chaque fois que l'applet doit-être dessinée.
Par exemple:
Lorsque tu cache ton browser avec une fenêtre WORD puis que tu fermes WORD ton browser aura besoin d'être redessiné et par conséquent ton applet et donc à ce moment là la méthode paint() de ton applet sera exécuté.
Oui je sais je suis pas très clai n'hésite pas à laisser tes questions sur le forum ou mon mail.
@+
Marsh Posté le 04-12-2001 à 19:12:58
oky, c tres clair ) je viens enfin de compredre le hello/applet en java lol, c pas gagné pour la suite
et sur je veux fiare une belle interface gaphique, je devrias la mettre dasn paint, ou du moins elle sera lancé par paint indirectement, si j ai bien compris ?!
Marsh Posté le 04-12-2001 à 21:25:58
en clair paint() est une méthode standard que tu dois associer à refresh. Tu dois te dire : "que dois je faire lorsque mon applet doit etre rafraichie (refresh)?" Et bien le code qui implémente la réponse doit etre dans cette méthode standard.
Tu peux l'appeler toi même via repaint() (je ne suis pas sur du nom ca fait longtemps). Moi par exemple j'ai fait une applet qui fait office de player mp3. sur l'applet il y a les boutons standard + le temps écoulé.
Toutes les X msec (500, 250 ca dépend un peu), je fais un appel à repaint pour afficher le temps écoulé.
Tu comrpends l'intérêt de la méthode?
Quand tu veux ...
Marsh Posté le 04-12-2001 à 22:06:20
yes, j ai capté
mais pour ton lecteur mp3, t es obligé de faire un refresh de toute la fenetre, ou bien tu peux te limiter a l endroit ou y a le "temps ecoulé" ??
sinon, l utilité du java : une servlet, c est quoi ?
Marsh Posté le 05-12-2001 à 09:37:27
slvn a écrit a écrit : yes, j ai capté mais pour ton lecteur mp3, t es obligé de faire un refresh de toute la fenetre, ou bien tu peux te limiter a l endroit ou y a le "temps ecoulé" ?? sinon, l utilité du java : une servlet, c est quoi ? |
Bin non tu spécifies quel item il faut refresher. Par exemple j'ai mon textfield qui contient la durée écoulée. Je change la valeur dans paint (par exemple valeur +=500. Et pis voilà c'est tout.
Pour la question sur servlet, je te répondre simplement. Java est selon moi un super language mais il faut faire des sacrifices pour la maitriser. Je crois qu'il est vraiment temps que tu quittes un peu le forum et que tu te plonges dans un bouquin. Sinon tu n'auras réponse qu'aux questions que tu te poses comme ca. Si un jour tu te trouves face à un vrai problème tu seras perdu.
Bien sur si tu as des questions pendant que tu lis, n'hésite pas. Mais je crois que c'est une mauvaise idée de balancer des questions à tout vent sans connaitre les base.
Derniere réponse de ma part dans ce cadre là. Une servlet est une classe serveur qui permet de faire du processing de requete HTTP. Exemple typique, un enregistrement. Tu as un formulaire html avec un bouton submit qui appelle une servlet. Elle a a sa disposition plein d'outils, de méthodes toute faites pour récupérer les params.
Elle les traite (genre vérifier que tout les champs sont remplis et compagnie, etc ...) Et puis elle demande une connexion JDBC pour stocker le nouveau client. Puis elle envoie un mail au client pour lui dire que tout est ok
Mais là j'ai du simplifier parce que c'est une mauvaise manière de programmer. Dans le modèle MVC, la servlet se borne à router les requetes (C de MVC pour Modele Vue Controlleur).
Enfin bref, une servlet c'est comme un script cgi mais en mieux
Marsh Posté le 05-12-2001 à 13:47:40
ok, merci pour ces reponses, je vias me replonger dnas les doc que je trouve sur le net histoire d approfondir un peu tout ca
merci encore pour ttes tes reponses qui m ont bien eclairé desole d avoir peut etre abusé de ton temps
Marsh Posté le 05-12-2001 à 13:58:51
slvn a écrit a écrit : ok, merci pour ces reponses, je vias me replonger dnas les doc que je trouve sur le net histoire d approfondir un peu tout ca merci encore pour ttes tes reponses qui m ont bien eclairé desole d avoir peut etre abusé de ton temps |
Pas de problème. Pour rappel, voir Thinking in Java, 2nd edition disponible gratuitement sur www.BruceEckel.com
Quand tu veux ...
Marsh Posté le 05-12-2001 à 14:16:27
merci je connais deja think in C++ mais je me souvenais pas qu il en existait un pour le java
Marsh Posté le 03-12-2001 à 22:18:34
Voila, je debute en java et je me posais une questions sur les applets: )
un applet, est une classe derivée de la classe java.Applet, mais comment ca arrive a fonctionner ????
quand on charge, l applet, ca revient a instancier un fois la classe ????
y a pas un equivalent de la fonction main ??