2011-06-30 7 views
-1

Je vous écris History.newItem ("Step 2"), mais même après l'exécution de cette instruction la méthode qu'il devrait appeler est onValueChange public void (événement ValueChangeEvent) {// Code }Ajout d'histoire dans le programme GWT

mais quand je le fais, la méthode n'est pas appelée, je ne comprends pas pourquoi elle n'appelle pas la méthode.

Voici l'intégralité du code.

{ 
package org.adrianwalker.gwt.uploadprogress.client; 

import com.google.gwt.user.client.History; 
import com.google.gwt.core.client.EntryPoint; 
import com.google.gwt.event.dom.client.ClickEvent; 
import com.google.gwt.event.dom.client.ClickHandler; 
import com.google.gwt.event.logical.shared.ValueChangeEvent; 
import com.google.gwt.event.logical.shared.ValueChangeHandler; 
import com.google.gwt.user.client.ui.AbsolutePanel; 
import com.google.gwt.user.client.ui.Button; 
import com.google.gwt.user.client.ui.Label; 
import com.google.gwt.user.client.ui.RootPanel; 
import org.adrianwalker.gwt.uploadprogress.client.view.UploadProgressView; 

public final class UploadProgress implements EntryPoint, ValueChangeHandler { 

    private static final UploadProgressView UPLOAD_PROGRESS_VIEW = new UploadProgressView(); 
    Label step_co=new Label("Step1"); 
    @Override 
    public void onModuleLoad() { 
    Button next1=new Button("Next"); 

    AbsolutePanel master_panel=new AbsolutePanel(); 
    //RootPanel rootPanel = RootPanel.get("content"); 
     master_panel.setStyleName("master_panel"); 
     master_panel.setHeight("100px"); 
     master_panel.setWidth("300px"); 


    master_panel.add(step_co,100,25); 
    RootPanel.get("master").add(master_panel,100,25); 
    RootPanel.get("content").add(UPLOAD_PROGRESS_VIEW,100,150); 
    RootPanel.get("content").add(next1); 

     next1.addClickHandler(new ClickHandler() { 
      public void onClick(ClickEvent event) { 
       History.newItem("step2",true); 

       RootPanel.get().add(new Label(History.getToken())); 
//    changeStep("token"); 
      }}); 

    RootPanel.get("content").add(next1,150,550); 

    } 



    public void onValueChange(ValueChangeEvent event) 
{ 
RootPanel.get().add(new Label("In value change")); 
String token=History.getToken(); 
changeStep(token); 
} 
    public void changeStep(String token) 
    { 
     if(token.equals("step2")) 
     { 
      step_co.setText("Step2"); 
      RootPanel.get("content").clear(); 
     } 
    } 


} 
} 

S'il vous plaît me dire comment pourrait en faire appel à la méthode onValueChange public void (événement ValueChangeEvent) dans le History.newItem (("Step 2") instruction.

Répondre

1

Vous devrez appeler

History.addValueChangeHandler(this) 

quelque part dans votre code. C'est ainsi l'objet de l'histoire sait appeler votre méthode quand il est tiré.

Check out GWT's documentation pour un exemple de code.

+0

Merci j'ai vraiment raté la ligne involontairement. –

Questions connexes