NetBeans(java) を使用して JFileChooser で JDialog を作成し、ComboBox を使用して lnk フォルダーを開こうとすると (他の方法では正常に動作します)、例外がスローされ、フォルダーが開かれません。これはバグであることがわかりました。回避策をいくつか試しましたが、うまくいきませんでした。手伝って頂けますか?または、「トリック」を提案できますか?JFileChooser(または少なくともComboBox)がlnkフォルダーを表示しないようにすることを考えましたが、その方法がわかりません。
1 に答える
1
Apache CommonsFileFilter
の aおよび theFileUtils
を使用して、シンボリック リンクが表示されないようにすることができます。
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "All (without symlinks)";
}
@Override
public boolean accept(File f) {
try {
return !FileUtils.isSymlink(f);
} catch (IOException e) {
return true; // Maybe to be changed to false depending on
// your use case
}
}
});
FileSystemView
@Andrew Thompsonが提案したように、他の代替手段は custom を使用することです。
編集:質問をより注意深く読んだ後、Windowsショートカットのフィルタリングにもっと興味があるようです。同じ手法が適用されます。
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "All (without shortcuts)";
}
@Override
public boolean accept(File f) {
return !f.getName().endsWith(".lnk");
}
});
于 2012-08-29T15:22:56.610 に答える