线程异常 "Basic L&F File Loading Thread"

Exception in thread "Basic L&F File Loading Thread"

当我 运行 我的代码时,有时,每当我使用 jfilechooser 时都会弹出此错误。我使用的 imagefilter 和 utils 来自 。我在网上搜索过这个,但我只看到像降级 java 这样的修复。

我的 java 是构建 1.8.0_25-b18,目前正在使用 netbeans 8.0.2 作为我的 IDE

Exception in thread "Basic L&F File Loading Thread" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1954)
    at datacomparison.Utils.getName(Utils.java:36)
    at datacomparison.ImageFilter.accept(ImageFilter.java:27)
    at javax.swing.JFileChooser.accept(JFileChooser.java:1650)
    at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run0(BasicDirectoryModel.java:252)
    at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(BasicDirectoryModel.java:228)

所以在 Util.getName() 方法中(在您 linked 的代码中),如果文件名中没有句点,那么 lastIndexOf() returns a -1 和 StringIndexOutOfBounds 将出现在下一行。我不知道这是否是您的情况,没有足够的信息,但看起来有可能。编写该代码的人没有计划文件名没有句点的情况。

下次,将所有必要的代码放入您的问题中,而不是 link 在其他地方编写代码。