IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

[Applet] appel de la méthode stop() dans une applet


Sujet :

Applets Java

  1. #1
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 89
    Points : 91
    Points
    91
    Par défaut [Applet] appel de la méthode stop() dans une applet
    Bonjour. Je pensais que lorsqu'on réduisait une page web d'une applet ou qu'on perdait le focus, la méthode stop() était appelée, puis la méthode start() une fois de retour sur la page. j'ai essayé le bête code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    import java.applet.Applet ;
     
    public class Test extends Applet
    {
        public void init()
        {
            System.out.println("init()");
        }
     
        public void start()
        {
            System.out.println("start.");
        }
     
        public void stop()
        {
            System.out.println("stop");
        }
     
        public void destroy()
        {
            System.out.println("destroy");
        }
     
    }
    avec l'appletviewer, quand je réduis la fenêtre, j'obtiens bien le message "stop", mais pas avec mon navigateur (mozilla et IE) (dans la console). Pourquoi ?

    ps : par contre les méthodes stop() et destroy() sont bien appelées quand je quitte l'applet.

    [ Modéré par Bulbo ]
    Ajout d'un tag dans le titre
    Les Règles du Forum

  2. #2
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Il faut croire que ça dépend de l'implémentation
    Romain Guy
    Android - Mon livre - Mon blog

  3. #3
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    comment faire pour mettre en pause un thread lorsque l'applet n'est plus visible alors ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 760
    Points : 626
    Points
    626
    Par défaut
    Je crois que cela fonctionne ainsi.
    Mais il faut apeller la methode parent dans tes methodes derivées.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        public void stop() {
            super.stop();
            System.out.println("stop");
        }
    Et je pense que c'est juste le System.out.println qui ne passe pas. Essaye de faire un message grace au JOptionPane.

  5. #5
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    J'ai essayé avec les méthodes parents, ça ne marche pas. Je ne pense pas que ça vient du System.out.println() puisque d'autres messages s'affichent. J'ai même essayé un exemple de Sun (AnimatorApplet), et c'est toujours le même problème (sauf avec l'applet viewer) : la méthode stop() n'est pas appelée quand elle le devrait. Elle est appelée seulement lorsqu'on quitte la fenêtre, puis destroy(), et si c'est seulement pour ce cas là, stop() ne sert à rien, autant tout mettre dans destroy(). Alors si vous pouvez m'éclairer...

    Piaf : en plus ça a l'air bien marqué dans l'API sun :
    public void stop()

    Called by the browser or applet viewer to inform this applet that it should stop its execution. It is called when the Web page that contains this applet has been replaced by another page, and also just before the applet is to be destroyed.

    A subclass of Applet should override this method if it has any operation that it wants to perform each time the Web page containing it is no longer visible. For example, an applet with animation might want to use the start method to resume animation, and the stop method to suspend the animation.

    The implementation of this method provided by the Applet class does nothing.
    enfin je ne comprends pas bien la dernière phrase...

Discussions similaires

  1. Tests des méthodes init, start, stop dans une applet
    Par JCD21 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 30/01/2012, 16h05
  2. Réponses: 6
    Dernier message: 24/03/2009, 16h17
  3. Réponses: 10
    Dernier message: 10/02/2009, 09h25
  4. Réponses: 6
    Dernier message: 14/01/2009, 19h19
  5. Appel d'une fonction java (dans une applet) depuis javascript
    Par foued_scorpion dans le forum Applets
    Réponses: 2
    Dernier message: 17/01/2007, 10h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo