Java GWT中的提醒

Java GWT中的提醒,java,gwt,Java,Gwt,我正在做一个关于Java和GWT的项目,我想创建一个提醒,就像用户输入日期和时间一样,这时应该显示一个弹出窗口,提醒用户他的事件。有人能给我建议实现这一目标的方法吗 当我在谷歌上搜索解决方案时,我在GWT中找到了一些与计时器相关的东西,但我猜计时器有方法schedule()以毫秒为参数,但将日期和时间转换为毫秒似乎不是解决方案,因此任何其他替代方案都值得高度赞赏。您不能仅用计时器处理它。似乎需要实现一些服务器端逻辑来实现这一点 用户选择客户端事件的时间和日期->调用服务器将其存储在某个位置(可以

我正在做一个关于Java和GWT的项目,我想创建一个提醒,就像用户输入日期和时间一样,这时应该显示一个弹出窗口,提醒用户他的事件。有人能给我建议实现这一目标的方法吗


当我在谷歌上搜索解决方案时,我在GWT中找到了一些与计时器相关的东西,但我猜计时器有方法
schedule()
以毫秒为参数,但将日期和时间转换为毫秒似乎不是解决方案,因此任何其他替代方案都值得高度赞赏。

您不能仅用计时器处理它。似乎需要实现一些服务器端逻辑来实现这一点

  • 用户选择客户端事件的时间和日期->调用服务器将其存储在某个位置(可以是简单的RPC或Ajax调用)
  • 通知用户可以通过以下几种方式实现:

    • Simple polling
      -使用Ajax调用,每N(更不用说10)秒从客户端询问服务器自上次检查以来发生了什么事件。服务器需要比较当前时间并将事件列表发送回客户端

    • Long poll
      Hidden Iframe
      用于将事件推送到客户端-更复杂,但也可以实现

  • 您还可以查看如何管理服务器和客户端之间的事件


    最后,您的逻辑保持简单-客户端需要从服务器上侦听发生的事件,并在处理程序中显示弹出对话框。

    +1询问问题。如果您需要与服务器同步以获得新的余数(http和async意味着对服务器的基于计时器的rpc请求进行轮询),或者我正在想象龙……@Durrat,您会说“将日期和时间转换为毫秒似乎不是解决方案”。为什么不呢?这将是一个简单的客户端解决方案。因此,如果用户关闭应用程序,则提醒将消失。但是,您可以使用cookie将其保存在浏览器中。如果您真的需要一个涉及服务器的解决方案,我建议您按照“mudalov”的建议研究GwtEventService。将池更改为轮询(当更改少于6个字符时,stackoveflow不允许我进行编辑)嘿,marcel thanx..我认为将日期和时间转换为毫秒不是标准方式,当我创建事件时,它会保存在服务器上的一个文件中,所以我不需要服务器参与,所以我会计算毫秒并完成我的工作…thanx…嘿,我已经让这个计时器工作了,但现在两个月后,当我通过我的应用程序时,我突然注意到计时器在比正常提供的计划时间延迟40秒后执行…意味着如果在计划方法中我通过60000毫秒,即1分钟,那么它在1分钟40秒后执行…我不知道为什么…有人能指出我缺少的任何东西吗…你需要跟踪页面上发生的事情,也许您有一些同步调用,它会在一段时间内阻止JS的执行。