2011-06-28 2 views
1

J'utilise le contrôle MenuBar dans gwt et je veux obtenir l'élément sélectionné. J'ai lu le document de l'API API document for MenuBar mais je n'ai trouvé aucune méthode susceptible de m'aider. S'il vous plaît dites-moi la façon dont je peux piéger l'élément sélectionné du MenuBar. Je veux obtenir l'élément sélectionné lorsque l'utilisateur clique dessus.Barre de menu dans gwt

Répondre

3

La réponse à votre question est Commande. http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/gwt/user/client/Command.html.

Lorsque vous ajoutez un élément à la barre de menus (ou à l'un de ses enfants) que vous spécifiez

Command helloCmd = new Command() { 
    public void execute() { 
    Window.alert("Hello"); 
    } 
}; 
addItem("Hello", helloCmd); 

ou

menuItem.setCommand(helloCmd); 

Vous pouvez également exécuter la commande indépendante de tous les éléments de menu:

helloCmd.execute(); 
0

Je ne vois pas pourquoi la méthode getSelectedItem() ne fonctionnerait pas. Peut-être que c'est parce que vous voulez avoir l'élément lorsque l'utilisateur clique? Créez simplement votre MenuItems avec une commande qui demande au MenuBar quel élément est sélectionné. Peut-être qu'il serait peut-être préférable d'utiliser une commande séparée pour certains de vos articles.

Nico

0

J'ai le même problème et résolu comme suit:

public class CustomMenuBar extends MenuBar { 

    public CustomMenuBar(boolean isVertical) { 
     super(isVertical); 
    } 

    public MenuItem getSelected() { 
     return super.getSelectedItem(); 
    } 

    public void clearSelected() { 
     super.selectItem(null); 
    } 
} 

et vous pouvez le vérifier pour null (si donc pas nul clair, il)

+0

Merci pour votre aide, je va vérifier celui-là ... –