【问题标题】:JFileChooser hangs sometimesJFileChooser 有时会挂起
【发布时间】:2008-11-27 04:58:34
【问题描述】:

我遇到了以下线程中描述的“挂起 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 上。

有人找到解决方法了吗?

【问题讨论】:

    标签: java jfilechooser


    【解决方案1】:

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

    【讨论】:

    • 我认为第二个软盘驱动器(还记得吗?)也可能是个问题。
    【解决方案2】:

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

    【讨论】:

    • 我的桌面上和文件选择器启动位置都没有任何 zip 文件
    • 抱歉没有帮助。作为一个仅供参考,这里是关于桌面上 JFileChooser 和大型 zip 文件的讨论的链接forums.sun.com/…
    • 哦,伙计,这确实帮助了我。我不明白 Java 现在是如何变得如此荒谬的。我在大学/业余爱好和 OFC 工作中一直在使用它 9 年了,它真的越来越烦人了。
    【解决方案3】:

    .10 更新应该修复 zipfile 相关的问题。

    【讨论】:

      【解决方案4】:

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

      1. 使用线程等待,直到它被初始化
      2. 重用相同的 JFileChooser(将其存储在变量中)而不是创建新的。如果可能,延迟初始化它们:
      
      public static JFileChooser chooser = null;
      
      public static void doSomething(){
          if(chooser==null)
               chooser = new JFileChooser();
          //use JFileChooser
      }
      

      这样您的用户需要等待的时间更少……但他们仍然需要等待。真正解决此问题的唯一方法是更新您的 JRE。

      【讨论】:

        猜你喜欢
        • 2017-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-07
        • 1970-01-01
        • 1970-01-01
        • 2015-06-02
        • 2020-03-13
        相关资源
        最近更新 更多