2016-07-22 2 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

버튼 클릭 수신기 추가 후 onClick()menu.show()으로 전화하십시오.

표시 할 메뉴를 지정하지 않으면 메뉴가 자동으로 표시되지 않습니다.

관련 문제