【问题标题】:Auto increment ID on a Swing form resets every time the application is launched每次启动应用程序时,Swing 表单上的自动增量 ID 都会重置
【发布时间】:2016-05-19 05:48:56
【问题描述】:

我有一个小挑战,我使用下面的代码为我正在使用 Swing 开发的事件报告应用程序生成 ID...

private static final AtomicInteger counter = new AtomicInteger(0);
private  int staffId;
staffId = counter.incrementAndGet();
txtReferenceNumber.setText("SHE-0000"+ staffId);

这很好用。问题是每次应用程序打开时计数器都会重置为零,然后退出应用程序。

如何保存计数器的状态,以便每次打开应用程序时都从上次保存的状态中读取并在此后继续?也就是说,如果上次保存的incidentNumberSHE0010,则应用程序运行时应该从那里继续,而不是恢复到SHE0001

【问题讨论】:

  • 将值保存在数据库或文件中。
  • 您当然应该为此使用 AUTO_INCREMENT 数据库列。

标签: java swing auto-increment


【解决方案1】:

每次关闭应用程序时,它都会从 RAM 中取出。您必须通过保持后台进程打开来保存应用程序的状态,并且在重新启动时状态将丢失。但是,您可以将数据保存在硬盘上,并在每次打开应用程序时从中获取价值。可能最好的解决方案是将其保存在文件中。例如文本文件。

【讨论】:

    最近更新 更多