【问题标题】:Alarm application in Java with JavaFX带有 JavaFX 的 Java 报警应用程序
【发布时间】:2016-03-17 15:52:33
【问题描述】:

我想创建一个类似this的想法的提醒应用程序,但是这个实现一次最多只有一个警报/提醒(即当警报开始时,我们只能在最多配置另一个警报最近发出的警报已完成)。如果我想实现一个可以触发多个警报的应用程序,我应该从哪里开始?

我最初的想法是这样的:

例如,我的提醒应用程序今天有 10 个闹钟,明天有 20 个闹钟,等等(在某一天有一定数量的闹钟)。我应该只创建固定数量的线程并一次处理一天的警报吗?或者也许我可以重用计时器和计时器任务但动态更改延迟值?请帮助阐明这一点。

【问题讨论】:

  • 您可以为您的警报定义quartz crontriggers,但这是一个依赖第三方库的相当复杂的过程。它会提供强大的功能和灵活性,但可能会超出您的要求。

标签: java multithreading timer concurrency timertask


【解决方案1】:

我应该只创建固定数量的线程并处理警报吗 一天一天?

不,只在需要时创建一个线程,老实说,您可以在应用程序中拥有一个时钟检查器和一个表或一些数据结构,其中包含警报类型、时间等任何其他内容,并且仅在需要时创建线程需要时,它会播放声音,等待终止等(基本上是用户输入),或者在完成工作后等待它死亡。你可以有某种固定的迭代量。

如果我想实现一个可以触发的应用程序,我应该从哪里开始 关闭多个警报?

考虑一下您要添加什么样的功能,这将在很大程度上影响您的应用程序设计,为您自己设计某种警报管理器,以及在特定时间创建警报的系统。

确保您使用 FXML 并强迫自己保持井井有条,因为您的应用程序可能会随着您继续添加更多功能而变得更大。

考虑一下线程之间将共享哪些数据,因为您很可能不希望让线程/警报相互重叠 // 例如,当它们具有“5 分钟内提醒”时 //,或者只是终止警报那即将进入另一个,如果用户在这段时间内没有终止它的警报并且它只是继续并且另一个将要启动,请确保有一个实体或一些更高的控制器类来处理这个问题。如果您不想将其限制为最大间隔分钟。

您心目中的这个应用程序非常小而且微不足道,您可能可以避免大多数问题。

保持简单,这可能是任何人都可以给你的最佳建议。

这只是我个人对此的看法,这类问题会吸引基于意见的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    • 2018-12-23
    • 2015-03-19
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多