【发布时间】:2019-10-06 19:05:18
【问题描述】:
我可以在特定日期/时间在侦察员中显示表格吗?
例如:我在应用中有提醒。我想在特定时间向用户显示提醒表单。
我知道我可以在表单中使用计时器,但是我需要将该“计时器代码”添加到我在应用程序中的所有表单中,以便可以触发计时器。
是否有另一种方法可以将其添加到一个位置,而不是添加到所有表单中?
谢谢
【问题讨论】:
标签: eclipse-scout
我可以在特定日期/时间在侦察员中显示表格吗?
例如:我在应用中有提醒。我想在特定时间向用户显示提醒表单。
我知道我可以在表单中使用计时器,但是我需要将该“计时器代码”添加到我在应用程序中的所有表单中,以便可以触发计时器。
是否有另一种方法可以将其添加到一个位置,而不是添加到所有表单中?
谢谢
【问题讨论】:
标签: eclipse-scout
是的,请查看 Eclipse Scout 的技术指南。在chapter 9, JobManager 中,您应该找到有关作业的所有信息以及如何安排作业的代码示例。
对于您的情况,您必须安排一个 ModelJob 并使用一个使用 #withStartAt(Date) 方法的 ExecutionTrigger 创建一个 JobInput。这应该有效:
Date reminderDate = new Date();
ModelJobs.schedule(() -> {
new ReminderForm().start();
}, ModelJobs.newInput(ClientRunContexts.copyCurrent())
.withName("Open reminder form")
.withExecutionTrigger(Jobs.newExecutionTrigger()
.withStartAt(reminderDate))
.withExceptionHandling(new ExceptionHandler() {
@Override
public void handle(Throwable t) {
System.err.println(t);
}
}, true));
也许您还应该查看“桌面通知”概念,它允许使用比表单更少侵入性的小部件来通知用户。你会发现一个例子here,点击“显示通知”按钮。
【讨论】: