gpt4 book ai didi

java - JFileChooser:选择模式为文件和目录时无法选择桌面

转载 作者:行者123 更新时间:2023-12-01 19:20:38 24 4
gpt4 key购买 nike

我遇到了 JFileChooser 的问题,想看看是否有解决方法。

如果创建了 JFileChooser 且 setFileSelectionMode 为 FILES_AND_DIRECTORIES,则当用户单击左侧(XP 中)的快捷按钮(例如“桌面”或“我的文档”)或下拉到“桌面”时,该字段不会放置在“文件名”JTextPane 中。当单击“选择/接受”按钮时,没有任何反应(因为 isDirectorySelected() 由于某种原因返回 false)。

重写approveSeletion不起作用,因为BasicFileChooser中的事件处理函数不会调用它。

如何才能选择桌面而无需手动导航到桌面,而是通过单击左侧的快捷方式?

谢谢

最佳答案

在 Windows 中,桌面不受文件系统中任何文件的支持 - 它是一个 shell 命名空间。因此,JFileChooser 确实无法返回给您任何内容。是的,我知道有一个文件夹包含用户的桌面 - 但请记住,桌面实际上显示为用户桌面和“所有用户”桌面文件夹的组合 - 加上 shell 添加但不是一部分的其他内容任何文件夹(如垃圾箱)。因此,返回代表“桌面”的 File 对象几乎是不可能的。

长话短说:问问自己为什么需要这样做 - 很可能您将深入 native 代码领域,处理 namespace PIDL 以及您可能不想涉及的各种麻烦(例如我的生活,我无法理解为什么 M$ 必须让这个东西如此难以使用)...

以下是 Windows shell 命名空间的介绍,以便您了解所涉及的内容:

http://msdn.microsoft.com/en-us/library/cc144090%28v=vs.85%29.aspx

关于java - JFileChooser:选择模式为文件和目录时无法选择桌面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4434482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com