【问题标题】:How to handle right mouse click on the specific Event in SmartGWT Calendar?如何处理鼠标右键单击 SmartGWT 日历中的特定事件?
【发布时间】:2011-04-08 15:18:11
【问题描述】:

我想在 SmartGWT 日历中的每个事件的右键单击下创建一个上下文菜单,或者简单地处理右键单击事件以显示一个弹出窗口。

calendar.addEventClickHandler(new EventClickHandler() {
        @Override
        public void onEventClick(TimetableEventClick event) {
            // TODO Auto-generated method stub
        }
    });

上面的代码不允许我根据单击的左/右键来区分不同的操作。 我可以将一个处理程序添加到日历实例中:

calendar.addRightMouseDownHandler(new RightMouseDownHandler() {
        @Override
        public void onRightMouseDown(RightMouseDownEvent event) {
            // TODO Auto-generated method stub
        }
    });

...但是我怎样才能获得确切点击了哪个事件的信息?没有 event.getId() 可用,也没有类似的东西。我想 getX(), getY() 和玩位置不是解决方案?

顺便说一句:在 GWT 中处理右键单击仍然是一个坏习惯吗?我应该把它的功能留给浏览器吗?

【问题讨论】:

    标签: java gwt calendar smartgwt right-click


    【解决方案1】:

    我想这就是你想要的:

    calendar.addShowContextMenuHandler(new ShowContextMenuHandler() {
        @Override
        public void onShowContextMenu(ShowContextMenuEvent event) {
           event.cancel();
           // your code
        }
    });
    

    我不认为在 GWT 中右键单击是一个坏习惯。如果是这样,这些方法就不会在 API 中定义以被覆盖。

    【讨论】:

      【解决方案2】:

      本机不存在日历的右键单击功能。

      这篇文章很好地总结了GWT在这方面的不足,并提供了一种弥补的方法。

      http://whatwouldnickdo.com/wordpress/370/gwt-right-click-context-menu/

      【讨论】:

        【解决方案3】:
        @UiHandler("calendar")
        void onCalendarClick(ClickEvent event) {
            Date timeSelected = calendar.getActiveTime();
            int  daySelected = calendar.getActiveDay();
        }
        

        您使用通用 ClickEvent 处理程序并使用日历对象 getActiveTime() 和/或 getActiveDay() 的函数来获取指针悬停在单元格上的位置。 上面的代码使用了 UI Binder,但与普通的 JAVA GWT 代码类似。

        【讨论】:

          【解决方案4】:

          您可以将日历作为参数传递给处理程序的构造函数。当点击被触发时,您会从日历中获取所选日期

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-10-09
            • 1970-01-01
            • 2011-05-30
            • 1970-01-01
            • 2014-01-03
            • 1970-01-01
            • 2010-10-05
            相关资源
            最近更新 更多