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

avec Java Discussion :

Problème avec Timer


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Par défaut Problème avec Timer
    Salut, aidez moi s'il vous plait

    Je vois rien affiché nul part :'(

    Code java : 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
    //j'ai tout bien importé et sinon j'ai aucun erreur dans Eclipse !
    public class ClasseM extends JPanel{
     
    	private static final long serialVersionUID = 1L;
     
    	Timer timer;
     
    	public void TimerTaskEx() {
    		timer = new Timer();
    		timer.schedule(new Reminder(), 6 * 1000);
    		System.out.format("TimerTaskEx%n");
    	}
     
    	class Reminder extends TimerTask {
    		public void run() {
    			System.out.format("Timer Task Finished..!%n");
    			timer.cancel();
    		}
    	}
    //...

    merci ^^

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Tu l'appelles bien la méthode TimerTaskEx ? Parce que sinon il n'y a aucun raison que ça n'afffiche rien.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Comme l'a dit joel.drigo, nulle part tu appelles la méthode TimerTaskEx() dans le code que tu as posté. ça afficherait ton message sinon
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Salut,
    Tu l'appelles bien la méthode TimerTaskEx ? Parce que sinon il n'y a aucun raison que ça n'afffiche rien.
    Bah non parce que ...
    regardez
    Code java : 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
    27
     
    //imports...
    public class ClasseM extends JFrame{
     
    	private static final long serialVersionUID = 1L;
     
    	Timer timer;//des erreurs si je change ça ...
     
    	public void TimerTaskEx() {//SI JE METS static alors "timer" veut aussi lettre et puis ça bug après des erreurs partout............
    		timer = new Timer();
    		timer.schedule(new Reminder(), 6 * 1000);
    		System.out.println("TimerTaskEx%n");
    	}
     
    	class Reminder extends TimerTask {
    		public void run() {
    			System.out.println("Timer Task Finished..!%n");
    			timer.cancel();
    		}
    	}
     
    	public static void main(String[] args) {
    		TimerTaskEx();//IL ME DIT que ça doit être STATIC... si je mets bah erreurs partout...
     
        }
     
    }

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Le code d'une méthode ne s'exécute que si on l'appelle. Une méthode non statique ne peut être appelée que d'un contexte non statique : la méthode main étant statique, tu ne peux donc effectivement appeler TimerTaskEx qui n'est pas statique. Pour pouvoir l'appeler, il faut créer une instance de la classe, ce qui te permet de l'appeler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public static void main(String[] args) {
     
           ClasseM frame = new ClasseM();
     
           frame.TimerTaskEx();
     
    }
    On peut également rendre TimerTaskEx statique, mais dans ce cas, timer devra être aussi static, et la classe Reminder aussi, pour les mêmes raisons.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Le code d'une méthode ne s'exécute que si on l'appelle. Une méthode non statique ne peut être appelée que d'un contexte non statique : la méthode main étant statique, tu ne peux donc effectivement appeler TimerTaskEx qui n'est pas statique. Pour pouvoir l'appeler, il faut créer une instance de la classe, ce qui te permet de l'appeler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static void main(String[] args) {
           ClasseM frame = new ClasseM();
           frame.TimerTaskEx();
    }
    On peut également rendre TimerTaskEx statique, mais dans ce cas, timer devra être aussi static, et la classe Reminder aussi, pour les mêmes raisons.
    Merci beaucoup,
    EDIT : J'ai réussi à faire marcher mon premier timer,
    je préfère déplacer sur l'autre post Ici ! DSL pour le double post.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec timer
    Par lokardz dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/05/2009, 16h05
  2. Problème avec timers
    Par window62123 dans le forum C#
    Réponses: 14
    Dernier message: 08/04/2009, 16h46
  3. [C++/CLI] problème avec Timer ou delegate
    Par breezer911 dans le forum Visual C++
    Réponses: 1
    Dernier message: 11/04/2007, 15h27
  4. [D6] Problème avec timers
    Par dridri86 dans le forum Delphi
    Réponses: 5
    Dernier message: 15/01/2007, 13h57
  5. Toujours un problème avec Timer
    Par adidas40 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/10/2006, 11h04

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