在特定时间显示表格
Show form on specific time
我可以在特定 date/time 的球探中显示状态吗?
例如:我在应用程序中有提醒。我想在特定时间向用户显示提醒表格。
我知道我可以在表单中使用计时器,但我需要将 "timer code" 添加到我在应用程序中的所有表单中,以便可以触发计时器。
是否有另一种方法可以将它添加到一个地方,而不是添加到所有表单?
谢谢
是的,请查看 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));
也许您还应该查看 "desktop notification" 概念,它允许使用比表单侵入性更小的小部件来通知用户。您会找到一个示例 here,单击 "Show notification" 按钮。
我可以在特定 date/time 的球探中显示状态吗?
例如:我在应用程序中有提醒。我想在特定时间向用户显示提醒表格。
我知道我可以在表单中使用计时器,但我需要将 "timer code" 添加到我在应用程序中的所有表单中,以便可以触发计时器。
是否有另一种方法可以将它添加到一个地方,而不是添加到所有表单?
谢谢
是的,请查看 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));
也许您还应该查看 "desktop notification" 概念,它允许使用比表单侵入性更小的小部件来通知用户。您会找到一个示例 here,单击 "Show notification" 按钮。