我有关于文件过滤器的问题。实际上,我只是遵循了Oracle的教程,但它似乎不起作用。所以我寻找其他的问题。应用了它,但过滤器仍然不起作用。还有,为什么我不能得到文件的文件名。我得到空指针。为什么会这样呢?谢谢你的帮助!
代码如下:
StringBuilder sb = new StringBuilder();
if (e.getSource() == btnMassEncode) {
int returnVal = fc.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "Portable Network Graphics (*.png)";
}
@Override
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
} else {
return f.getName().toLowerCase().endsWith(".png");
}
}
});
fc.setAcceptAllFileFilterUsed(false);
File file = fc.getSelectedFile();
// This is where a real application would open the file.
sb.append("Opening: " + file.getName());
} else {
sb.append("Open command cancelled by user.");
}
}
System.out.println(sb.toString());发布于 2015-03-12 11:31:24
在打开之前设置筛选器...
StringBuilder sb = new StringBuilder();
if (e.getSource() == btnMassEncode) {
fc.setFileFilter(new FileFilter() {
@Override
public String getDescription() {
return "Portable Network Graphics (*.png)";
}
@Override
public boolean accept(File f) {
if (f.isDirectory()) {
return true;
} else {
return f.getName().toLowerCase().endsWith(".png");
}
}
});
fc.setAcceptAllFileFilterUsed(false);
int returnVal = fc.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
// This is where a real application would open the file.
sb.append("Opening: " + file.getName());
} else {
sb.append("Open command cancelled by user.");
}
}
System.out.println(sb.toString());https://stackoverflow.com/questions/29001373
复制相似问题