在特定时间显示表格

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" 按钮。