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

Langage Java Discussion :

Plannificateur de tâche


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut Plannificateur de tâche
    Bonjour à tous,

    je me suis servis du tuto fourni par ce site pour réaliser un plannificateur de tâche, mais voici le problème, lorsque j'éxécute mon programme rien ne se passe. J'ai fait un plannificateur simplifier pour le test, celui-là ne fait que d'afficher un JOptionPane. Voici le code:
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    public class Main {
     
        /** Creates a new instance of Main */
        public Main() {
        }
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
        sched t = new sched();
        }
     
    }
     
    public class task extends TimerTask{
     
        /** Creates a new instance of task */
        public task() {
        }
        public void run() {
      JOptionPane.showMessageDialog(null,"Bonjour Seigneur","Info",JOptionPane.INFORMATION_MESSAGE);
        //TODO generate report
      }
     
    }
     
    public class sched  {
     
        /** Creates a new instance of sched */
        public sched() {
        }
     
          public static void main(String[] args) {
        Timer timer = new Timer();
        Calendar date = Calendar.getInstance();
        date.set(
          Calendar.DAY_OF_WEEK,
          Calendar.SUNDAY
        );
        date.set(Calendar.HOUR, 10);
        date.set(Calendar.MINUTE, 10);
        date.set(Calendar.SECOND, 0);
        date.set(Calendar.MILLISECOND, 0);
        // Schedule to run every Sunday in midnight
        timer.schedule(
          new task(),
          date.getTime(),
          1000 * 60 * 60 * 24 * 7
        );
      }
    Les imports sont correctes.
    Merci pour votre aide.
    Flames

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est normal que tu as plusieurs main() ?? Lequel tu appelles ???


    a++

  3. #3
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    La tu appelles le constructeur de sched, donc cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /** Creates a new instance of sched */
        public sched() {
        }
    Autant dire rien du tout. Placer tout son code dans du main, c'est pas très élégant et ça restreint l'évolution de ton programme. Place ton code main dans le constructeur ou mieux dans une méthode à part que tu appelles à partir du constructeur. Le constructeur sert à initialiser les objets que les méthodes de la classe vont appelés (je me trompe adiGuba ?). En fait là ton code main n'est jamais appelé, il faut comprendre que la méthode main ne sert que lorsque l'on lance le programme à partir de cette classe, elle est inutile dans la plupart des classes. Bonne chance.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut
    Aie, aie, aie, grosse erreur de ma part, désolé. Voici le code final, au cas où.
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    public class Main {
     
        /** Creates a new instance of Main */
        public Main() {
        }
     
        /**
         * @param args the command line arguments
         */
          public static void main(String[] args) {
        Timer timer = new Timer();
        Calendar date = Calendar.getInstance();
        date.set(
          Calendar.DAY_OF_WEEK,
          Calendar.SUNDAY
        );
        date.set(Calendar.HOUR, 10);
        date.set(Calendar.MINUTE, 38);
        date.set(Calendar.SECOND, 0);
        date.set(Calendar.MILLISECOND, 0);
        // Schedule to run every Sunday in midnight
        timer.schedule(
          new task(),
          date.getTime(),
          1000 * 60 * 60 * 24 * 7
        );
      }
     
    }
    public class task extends TimerTask{
     
        /** Creates a new instance of task */
        public task() {
        }
        public void run() {
      JOptionPane.showMessageDialog(null,"Bonjour Seigneur","Info",JOptionPane.INFORMATION_MESSAGE);
        //TODO generate report
      }
     
    }
    Merci en tout cas.

  5. #5
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    C'est pas très joli tout ce code dans le main. Je te conseil de mettre ça dans une méthode à part, enfin, je dis ça, je dis rien .

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 42
    Par défaut
    Pas de soucis, je m'en occuperai au boulot, encore merci.

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

Discussions similaires

  1. Plannificateur de tâches
    Par Egan69 dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 08/08/2013, 16h20
  2. Plannificateur de tâches et Talend
    Par dizzystyle dans le forum Exécution et industrialisation
    Réponses: 1
    Dernier message: 18/12/2008, 11h27
  3. barre de tâche Windows
    Par calou34 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 10/05/2005, 20h42
  4. [SYBASE] gestion de tâches automatiques
    Par gaille dans le forum Sybase
    Réponses: 2
    Dernier message: 16/06/2003, 23h12
  5. HAUTEUR de la barre des tâches de Windows ?
    Par Lung dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 13/12/2002, 11h43

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