Java Jar:仅在第一次打开jar时执行方法?

问题描述:

我想要一个“欢迎”对话框出现 - 但只是第一次打开应用程序。在我的JAR中是否需要某种文本文件,“记住”对话是否已经出现?有没有比这更优雅的方式呢?Java Jar:仅在第一次打开jar时执行方法?

+0

感谢您的回复。我确实希望它尽可能独立于操作系统。 – Derek

首选项API是我做了这样的事情。它将在注册表(Windows)或用户的主文件夹或UNIX中存储一个值,因此它适用于所有内容。

http://docs.oracle.com/javase/7/docs/api/java/util/prefs/Preferences.html

实际上并没有更好的方法,因为你无法直接在代码中直接管理这种行为(直接在你的jar中)。例如将它保存到隐藏文件可能是一个好主意。

不幸的是,最好的办法可能是依赖于操作系统的,即编写在Windows应用程序数据folder,并在* nix系统的主目录写入一个隐藏文件夹。您可以使用首选项API来实现实际首选项。

是否应用程序。有一个GUI?如果是这样,请使用Java Web Start &启用它,使用JNLP API的SingleInstanceService来显示“欢迎”对话框。

SIS将在第一次运行应用程序时调用自定义代码。有关更多详细信息,请参阅此小型demo. of the SingleInstanceService,该代码可供下载。