有没有什么办法,当加载JFileChooser的,它只显示具有文件夹名称“你好”而已。
这里是我的代码:显示所有文件夹和文件也有.py扩展名和.java。 我想该文件夹的名称限制添加到它。
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"Select Source Code To Analyze", "java","py");
jfc.setFileFilter(filter);
//jfc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
JButton btnNewButton = new JButton("Select Erroneous File"); //SELECT File Button.
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (jfc.showOpenDialog(contentPane) !=
JFileChooser.APPROVE_OPTION)
return;
File f = jfc.getSelectedFile();
当前程序输出:
我想输出是有点这样的:只显示文件夹有名字“你好”,只有文件的其余部分。
使用这样的文件过滤器 。
javax.swing.JFileChooser jfc = new javax.swing.JFileChooser();
jfc.setFileSelectionMode(javax.swing.JFileChooser.FILES_ONLY);
jfc.setFileFilter(new javax.swing.filechooser.FileFilter(){
@Override
public boolean accept(java.io.File file){
//return (file.isDirectory() && file.getName().equals("Hello")) || !file.isDirectory();
// Get only hello folder and .py files
//return (file.isDirectory() && file.getName().equals("Hello")) || (!file.isDirectory() && file.getName().toLowerCase().endsWith(".py"));
// Get only hello folder and .java files if Hello folder is opened else .py files
return (file.isDirectory() && file.getName().equals("Hello")) ||
(!file.isDirectory() && file.getParentFile().getName().equals("Hello") &&
file.getName().toLowerCase().endsWith(".java")) ||
(!file.isDirectory() && file.getName().toLowerCase().endsWith(".py"));
}
@Override
public String getDescription() {
return "Hello Folder and Other Files";
}
});
文章来源: How to make JFileChooser Display only a Folder that has some specific name Java