有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    就你所谈论的主题而言,没有“双击事件”这样的事情

    Java中的WatchService是一个接口,其实现是特定于平台的(包括完全可选的,取决于平台)

    在某些平台(特别是windows/*nix)上,默认实现的工作方式是定期轮询指定目录的文件系统元数据。如果默认实现不监视访问时间(atime)或平台上不可用(或已关闭),则。。。不,您无法获取文件访问的事件

    在OSX上测试这个,它不会。我必须在Windows和*nix上测试它,看看结果如何。我不知道任何默认的实现都可以,因为atime并不可靠,因为它可以在许多支持它的文件系统上关闭以提高性能

    如果您想使用WatchService接口来实现此功能,并且您的代码将在其上运行的平台支持此功能,那么您可以实现自己的接口,查看访问时间并触发事件

    This StackOverflow Question演示了如何检查文件的atime,但请再次记住,它不是真正可靠的(请阅读有关警告的注释)

  2. # 2 楼答案

    Java开箱即用,无法监视“来自我的文件系统的简单双击事件”。 您提到的链接是关于java代码的,它可以监视其他类型的事件,例如文件系统中的创建、删除和修改,但双击是“用户界面”事件,java代码本身不包括这些事件

    然而,你正确地提到了Swing。 如果您使用Swing编写了一个程序,该程序是专门为更改文件系统而设计的,那么是的,您的程序可以被编写为监听Swing布局上某个按钮的点击,然后您的代码可以决定如何处理该点击事件