2016-07-22 13 views
0

Iクリックしたときにメニューを表示する必要があり煎茶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

ボタンclickListenerを追加した後、onClick()を呼び出してmenu.show()を呼び出します。

表示するメニューが表示されない場合、メニューは自動的に表示されません。

関連する問題