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

GWT et Vaadin Java Discussion :

comment utiliser un Timer dans ma methode rpc


Sujet :

GWT et Vaadin Java

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 48
    Points
    48
    Par défaut comment utiliser un Timer dans ma methode rpc
    bonjour
    Comment utiliser un Timer dans ma methode CallBack,là dans mon code j'ai un appel d'une autre methode CallBack dans OnSuccess,
    ma methode getSystem() me renvois une liste des élement je veux utiliser un j'ai besoin d'utiliser Timer() permet de changer les couleures de la Liste,
    comment je peux faire ça merci de votre réponses
    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
     
     
     public void onSuccess(Object result)
          {
     
            _textReadOnly.setText("id"+ result);
            _service.getSystem((String) result, _systemCallBack);
            Timer timer  = new Timer(){
     
              public void run()
              {
     
     
              }
     
            };
          }
     
        };

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Bah, il suffit de faire comme tu as écrit, rajoute simplement l'appel de la méthode Timer.schedule() pour lancer le timer.

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 48
    Points
    48
    Par défaut
    merci
    mais comment changer les couleur de ma liste quan je le lance
    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Ca depend en partie du composant que tu utilises pour afficher tes données. Dans l'hypothèse où tu utiliserais une FlexTable, ça donnerait quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    FlexTable table;
    public void run() {
    	for(int row=0; row<table.getRowCount(); row++) {
    		table.getFlexCellFormatter().setStyleName(row, column,"nouvelleCouleur");
    	}
    }
    puis tu définis une CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .ancienneCouleur {
    	color: #xxxxxx;
    }
    .nouvelleCouleur {
    	color: #yyyyyy;
    }

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 48
    Points
    48
    Par défaut
    merci
    j'utilise un label et voila ce que je fais :je teste sur les taches revoyer par le serveur
    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
     
      public void run()
          {
        if(tache.getSteps()!=null)
     
        {
          Iterator iter = task.getSteps().iterator(); 
          while (iter.hasNext())
          {
            label.setStyleName("nouvellecouleur");
     
           }
        };
           timer.scheduleRepeating(2000);
     }
    mais sa donne aucun resultat !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    As-tu correctement déclaré ta css ?

    Tu as deux façon de le faire.

    Soit de manière classique en ajoutant un lien dans ta page html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link rel="stylesheet" type="text/css" href="mafeuilledestyle.css"/>
    Soit en la déclarant dans le fichier de configuration de l'entry point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <stylesheet src='mafeuilledestyle.css' />
    Par ailleurs, il y a truc que je ne comprends pas. Tu utilises une boucle alors que apparemment tu n'as qu'un seul composant Label

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Février 2008
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 113
    Points : 48
    Points
    48
    Par défaut
    bonjour
    ta raison pour la boucle mais je voulais définir un style soit " rouge " comme exemple lorsque le rpc est n'est pas exécuté et placer-le en vert lorsque le resultat à obtenir est bon :

    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
     
     public void run()
              {
                  _service.getSystemState(tacheId, _systemStateCallBack);
                  init((Tache) result);
              } };
            timer.schedule(2000);
          }
     
    public void init(Tache tache)
      {
     
     
        Step  state = new Step();
        if(state.getStep() !=null){
          DOM.setStyleAttribute(label.getElement(), "", "red");
        }
          else 
            DOM.setStyleAttribute(label.getElement(), "", "black"); 
     
     
      }
    mais mon label il change pas je je sais pas si c'est juste de faire ça
    merci

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Ton code est extrèmement difficile à lire. En plus tu manques de rigueur.

    D'où est-ce que tu sors la méthode GWT.setStyleAttribute() ?

    Et à quoi correspond la méthode init() ? Le nom de cette méthode laisse penser qu'elle n'est appelée qu'une seule fois, or si j'ai bien compris, tu veux obtenir une feedback à chaque appel RPC.

    Essayes de poster des morceaux de code cohérents parce que sinon, c'est impossible de t'aider.

Discussions similaires

  1. Comment utiliser resutlat (liste) d'une methode dans extjs avec dwr
    Par ayoubkira dans le forum Ext JS / Sencha
    Réponses: 5
    Dernier message: 04/08/2011, 11h22
  2. Réponses: 26
    Dernier message: 13/12/2006, 07h35
  3. Réponses: 4
    Dernier message: 16/02/2006, 16h28
  4. [C#]Comment utiliser un dataset dans plusieurs...
    Par Sonny dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/11/2005, 14h03
  5. Utiliser un timer dans une application console
    Par chavers dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2005, 14h07

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