Панель меню в gwt - PullRequest
       22

Панель меню в gwt

1 голос
/ 28 июня 2011

Я использую элемент управления MenuBar в gwt и хочу получить выбранный элемент.Я прочитал документ API Документ API для MenuBar , но не смог найти метод, который мог бы мне помочь.Пожалуйста, скажите мне, как я могу перехватить выбранный элемент на панели меню. Я хочу получить выбранный элемент, когда пользователь нажимает на него.

Ответы [ 3 ]

3 голосов
/ 28 июня 2011

Ответ на ваш вопрос - командование. http://google -web-toolkit.googlecode.com / СВН / Javadoc / 2,3 / ком / Google / GWT / пользователь / клиент / Command.html .

Когда вы добавляете элемент в меню (или к любому из его дочерних элементов), вы указываете

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

или

menuItem.setCommand(helloCmd);

Вы также можете выполнить команду независимо от любых пунктов меню:

 helloCmd.execute();
0 голосов
/ 30 июня 2011

У меня та же проблема, и я решил ее следующим образом:

public class CustomMenuBar extends MenuBar {

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

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

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

и вы можете проверить его на ноль (если не ноль, то очистить его)

0 голосов
/ 28 июня 2011

Я не понимаю, почему метод getSelectedItem () не будет работать. Может быть, это потому, что вы хотите получить элемент, когда пользователь нажимает? Просто создайте свои элементы MenuItem с помощью команды, которая спрашивает панель меню, какой элемент выбран. Может быть, даже лучше использовать отдельную команду для некоторых ваших предметов.

Nico

...