[英]How to handle right mouse click on the specific Event in SmartGWT Calendar?
我想在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中的右键单击是否仍然是个坏习惯? 我应该将其功能留给浏览器吗?
我想这就是你想要的:
calendar.addShowContextMenuHandler(new ShowContextMenuHandler() {
@Override
public void onShowContextMenu(ShowContextMenuEvent event) {
event.cancel();
// your code
}
});
我认为在GWT中单击右键单击并不是坏习惯。 如果是这样,则这些方法将不会在API中被定义为被覆盖。
日历的右键单击功能本机不存在。
本文很好地总结了GWT在这方面的不足,以及一种克服它的方法。
http://whatwouldnickdo.com/wordpress/370/gwt-right-click-context-menu/
@UiHandler("calendar")
void onCalendarClick(ClickEvent event) {
Date timeSelected = calendar.getActiveTime();
int daySelected = calendar.getActiveDay();
}
您使用常规的ClickEvent处理程序,并使用日历对象getActiveTime()和/或getActiveDay()的功能来获取指针悬停在其上的单元格的位置。 上面的代码使用的是UI Binder,但将与普通的JAVA GWT代码类似地工作。
您可以将日历作为参数传递给处理程序的构造函数。 触发点击后,您将从日历中获得选定的日期
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.