TextButton中的菜单不起作用

时间:2016-07-22 14:56:10

标签: gxt

我有以下的widget类,其中包含一个Sencha TextButton,它应该在单击时显示一个菜单:

public class MyWidget extends Container {

    public interface MyWidgetActionHandler {
        void onClone();
    }

    private final MyData data;

    private final MyWidgetActionHandler handler;

    private TextButton menuButton;

    public MyWidget(MyData data, MyWidgetActionHandler handler) {
        this.data = data;
        this.handler = handler;
        setup();
    }

    private void setup() {
        VerticalLayoutContainer mainContainer = new VerticalLayoutContainer();

        Label dateLabel = new Label(DATE_TIME_FORMAT.format(new Date(data.getApplicability())));
        mainContainer.add(dateLabel);

        menuButton = new TextButton("...");
        Menu menu = new Menu();
        menu.add(new MenuItem("Clone...", new SelectionHandler<MenuItem>() {
            @Override
            public void onSelection(SelectionEvent<MenuItem> event) {
                handler.onClone();
            }
        }));
        menuButton.setMenu(menu);
        mainContainer.add(menuButton);

        setElement((Element) mainContainer.getElement());

        DragSource dragSource = new DragSource(this) {
            @Override
            protected void onDragStart(DndDragStartEvent event) {
                event.setData(data);
            }
        };
    }
}

单击按钮时未显示菜单。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:-1)

添加按钮clickListener然后onClick()调用menu.show()

如果您不告诉菜单显示,菜单将不会自动显示。