Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通知操作系统文件在Java中打开_Java_Swing_File_Recent File List - Fatal编程技术网

通知操作系统文件在Java中打开

通知操作系统文件在Java中打开,java,swing,file,recent-file-list,Java,Swing,File,Recent File List,我想知道是否有某种Java API库(Swing),允许您的程序告诉系统它刚刚打开了一个文件,以便可以将其添加到用户最近针对任何操作系统的文档中(如Windows的SHAddToRecentDocs)。 这样的事情存在吗?注:我不考虑作为解决方案 编辑:我已经打开了有问题的文件,我不希望系统打开它。我还跟踪程序中最近的文档,我想知道如何告诉系统我打开了它,而不让系统指示默认程序打开它。类java.awt.Desktop包括一个open()方法,该方法在Mac OSX上执行此操作。您需要在其他目标

我想知道是否有某种Java API库(Swing),允许您的程序告诉系统它刚刚打开了一个文件,以便可以将其添加到用户最近针对任何操作系统的文档中(如Windows的SHAddToRecentDocs)。 这样的事情存在吗?注:我不考虑作为解决方案


编辑:我已经打开了有问题的文件,我不希望系统打开它。我还跟踪程序中最近的文档,我想知道如何告诉系统我打开了它,而不让系统指示默认程序打开它。

java.awt.Desktop
包括一个
open()
方法,该方法在Mac OSX上执行此操作。您需要在其他目标平台上进行测试。如果您不能直接使用该特性,API的这一部分可能会建议一种方法

如果没有更好的实现,这可以在应用程序中使用。此外,考虑持久性机制中的一个。
附录:在内部,
java.awt.Desktop
为每个支持的平台指定一个平台实例。您可能能够利用现有实现中为您打算支持的平台所采用的方法。

“如果它可以在按钮上设置进度也会很好…”这没有任何意义。什么按钮?我猜是由操作系统来跟踪用户最近的文档。您需要的是一个API,它允许您以与操作系统无关的方式访问用户最近的文档。我想告诉操作系统,用户刚刚打开了“这个文件”。关于“按钮上的进度”,这意味着允许Java告诉操作系统它在一个长操作上走了多远,比如当你下载一个文件时。明白了。我以为您希望在打开新文件时告诉Java。没有意识到您想要使用Java来告诉系统文件已经打开。谢谢你的澄清。你在哪个站台?您正在使用Swing吗?您可能希望编辑问题以包含此类详细信息。根据你最初的问题,人们真的不可能猜到。您还应该编辑标记以包括
Swing
。我会为您编辑它们,但您仍然没有确认您正在使用Swing。如果你在问题中尽可能多地包含细节,你将有更好的机会得到一个好答案。目前来看(没有细节、不相关的标签、混乱的标题),这个问题可能不会引起太多注意。
Desktop#open()
在Windows 7上也会这样做。@Vulcan:谢谢!对于在其他平台上的测试,还需要练习
Desktop#open()
;您可能会找到
java.awt.peer.DesktopPeer
的具体实现,以供进一步研究。好的,谢谢您的帮助。