JFileChooser 有时会挂起

发布于 2024-07-09 08:06:07 字数 602 浏览 6 评论 0原文

我遇到了“挂起 JFileChooser”的问题,如以下线程中所述:

http: //forums.sun.com/thread.jspa?threadID=5309960

http: //forums.sun.com/thread.jspa?threadID=724817

http://x86.sun.com/thread.jspa?threadID=5275999&messageID=10156541

我使用的是 JVM 1.6.0_07-b06。 Windows XP 和 Windows Vista 上都会出现这种情况。

有人找到解决方法了吗?

I am running into the problem of the "hanging JFileChooser" as described in the following threads:

http://forums.sun.com/thread.jspa?threadID=5309960

http://forums.sun.com/thread.jspa?threadID=724817

http://x86.sun.com/thread.jspa?threadID=5275999&messageID=10156541

I am using JVM 1.6.0_07-b06. It happens on Windows XP as well as on Windows Vista.

Has anybody found a workaround for this yet?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

月亮是我掰弯的 2024-07-16 08:06:07

有一个错误,如果您将网络驱动器映射到桌面上,它有时会挂在 JFileChooser 上。 或者它可能是网络驱动器的快捷方式。 沿着这些思路的东西......

There's a bug where if you a networked drive mapped on the desktop, it can sometimes hang on the JFileChooser. That or it might be a shortcut to a networked drive. Something along those lines...

携君以终年 2024-07-16 08:06:07

我自己也遇到过这个问题,更新并没有帮助。 奇怪的是,从我的桌面(JFileChooser 的默认位置)删除所有 zip 文件(特别是大文件)解决了这个问题。

I've run into this myself and the updates didn't help. Strangely enough, removing all zip files (particularly large ones) from my desktop (JFileChooser's default location) solved the issue.

娇俏 2024-07-16 08:06:07

.10 更新应该修复与 zip 文件相关的问题。

The .10 update is supposed to fix the zipfile related one.

旧人九事 2024-07-16 08:06:07

是的,这是一个错误,但我相信最近版本的 Java 不再有它。
有一些解决方法(尽管它们都是肮脏的黑客):

  1. 使用线程等待直到它被初始化
  2. 重用相同的JFileChooser(将其存储在变量中)而不是创建新的。 如果可能的话,延迟初始化它们:

public static JFileChooser chooser = null;

public static void doSomething(){
    if(chooser==null)
         chooser = new JFileChooser();
    //use JFileChooser
}

这样你的用户就必须等待更少......但他们仍然需要等待。 真正解决此问题的唯一方法是更新 JRE。

Yes, it was a bug, but I believe recent versions of Java no longer have it.
There are a few workarounds(although they are all dirty hacks):

  1. Use a thread to wait until it was initialized
  2. Reuse the same JFileChooser(store it in a variable) instead of creating new ones. If possible, lazily initialize them:

public static JFileChooser chooser = null;

public static void doSomething(){
    if(chooser==null)
         chooser = new JFileChooser();
    //use JFileChooser
}

This way your users have to wait less... but they still will need to wait. The only way to really fix this is to update your JRE.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文