2011-08-23 4 views
0

Je suis nouveau à GWT, je voudrais utiliser des liens hypertexte où je voudrais rediriger l'utilisateur vers un autre formulaire. Ma question est que, la création de liens hypertexte sont faciles, mais comment puis-je les utiliser ?? addClickListener semble être obsolète, existe-t-il un autre moyen de contourner ce problème?liens hypertexte avec gwt

Mise à jour 1 J'ai mis en œuvre le code de liaison Hyper comme suit:

Hyperlink link0 = new Hyperlink("Show Boxes","showbox"); 
    History.addValueChangeHandler(this); 
    History.fireCurrentHistoryState(); 
    public void onValueChange(ValueChangeEvent<String> event) { 
    String eventValue=event.getValue(); 
    if(eventValue.equals("showbox")){ 
    showBox(); 
    } 
} 

Avec cela, je vois que la forme correspondant à un lien hypertexte est visible, mais cette forme n'est pas fermée et une autre pour est de ne pas être ouvert lorsque je clique sur un autre lien hypertexte. J'utilise DockPanel pour afficher le formulaire dans la direction est. Les formulaires pour tous les hyperliens sont affichés juste en dessous de l'autre.

Des commentaires/suggestions pour la même?

Merci, Bhavya

Répondre

0

Utilisez la méthode Anchor.addClickHandler()!

Anchor a = new Anchor("text"); 
a.addClickHandler(new ClickHandler(){ 
    // etc 
}); 
0

Si l'autre forme est dans votre application GWT, alors vous devriez envisager d'utiliser Hyperlink. Dans le constructeur, vous fournissez un jeton d'historique qui est poussé vers l'objet History lorsque vous cliquez sur le lien. Vous avez juste besoin de gérer un événement qu'un jeton d'historique a changé. Il dissocie les événements de navigation de votre logique. Cela permettra également à votre application de prendre en compte le back-forward et permettra aux utilisateurs d'enregistrer les signets dans un état spécifique (formulaire dans votre cas). Anchor est destiné plus pour les liens externes. Il est décrit dans Coding Basics - History.

0

D'abord, vous devez créer un HyperLink avec un jeton d'histoire:

Hyperlink link = new Hyperlink("link to foo", "foo"); 

Dans l'exemple ci-dessus, « foo » est le jeton d'histoire.

Ensuite, vous devez enregistrer votre gestionnaire de changement de valeur sur l'objet History, comme

History.addValueChangeHandler(myValueChangeHandler); 

votre valeur gestionnaire de changement, vous devrez lire dans le jeton actuel à l'aide event.getValue().

class MyValueChangeHandler implements ValueChangeHandler<String>() { 
     public void onValueChange(ValueChangeEvent<String> event) { 
     //get the new value of history token 
     //clicking on above example link will return "foo" here 
     String historyToken = event.getValue(); 
     } 
} 

La valeur de jeton d'historique dépend de votre application. Par exemple, vous pouvez gérer une carte simple entre les jetons d'historique et la vue à afficher. Dans les applications plus sophistiquées, vous pouvez encoder plus de détails dans l'état initial de type jeton du formulaire qui doit être affiché.

Questions connexes