禁用移动日历事件 - Vaadin

时间:2015-08-24 21:11:36

标签: java calendar vaadin

我想禁用Vaadin日历中的移动事件

  

创建新日历时会自动设置所有这些处理程序。如果要禁用某些默认功能,可以将相应的处理程序设置为null。这将阻止功能出现在用户界面上。例如,如果将EventMoveHandler设置为null,则用户将无法在浏览器中移动事件。 - > Book of Vaadin

我试过了:

calendar.setHandler(null);

calendar.setHandler((EventMoveHandler) null);
calendar.setHandler((BaseEventMoveHandler) null);

EventMoveHandler handler = null;
calendar.setHandler(handler);

BaseEventMoveHandler baseHandler = null;
calendar.setHandler(baseHandler );

但没有任何效果。有什么建议....?

2 个答案:

答案 0 :(得分:7)

使用Vaadin 7.4.5确实对我有用:

calendar.setHandler((EventMoveHandler)null);
calendar.setHandler((EventResizeHandler)null);

答案 1 :(得分:0)

如果你想禁用所有处理程序并使日历完全只读,这对我有用。

calendar.setReadOnly(true);

EDIT1: 但是,此方法不会禁用事件的调整大小指针。因此,我看到的最佳解决方案是将其与asmellado的答案一起使用:

calendar.setReadOnly(true);
calendar.setHandler((EventMoveHandler)null);
calendar.setHandler((EventResizeHandler)null);

另外,如果我没有使用setReadOnly方法,当我尝试移动事件时,我在一些strage客户端异常中运行。