1

JFileChooser以下は、ボタンをクリックして開くための私のコードです。.jpg ファイルのみを選択できるようにフィルターを作成しましたが、コードが期待どおりに動作しません。すべての種類のファイルがJFileChooserダイアログ ボックスに表示されます。コードの一部:

MyFileFilter filter;

fPhoto=new JFileChooser();
fPhoto.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);        
fPhoto.setFileFilter(filter);

MyFileFilter クラス:

public class MyFileFilter extends javax.swing.filechooser.FileFilter{

    public boolean accept(File f){

    return f.isDirectory()||(f.isFile()&&f.getName().toLowerCase().endsWith(".jpg"));
    }

    public String getDescription(){

    return ".jpg files";
    }
}
4

2 に答える 2

5

をインスタンス化する必要がありますfilter。意志があるnull FileFilterと、除外されるファイルの種類がなくなります。

MyFileFilter filter = new MyFileFilter();
于 2012-12-24T18:04:47.873 に答える
3

指定したファイルを閲覧したい場合は、このコードを見てください

 try
        {
        JFileChooser fc = new JFileChooser();
        fc.setAcceptAllFileFilterUsed(false);
        fc.setFileFilter(new FileFilter() {

            @Override
            public boolean accept(File file) {
               return (file.isDirectory()||file.getName().endsWith(".JPG")||file.getName().endsWith(".jpg"));
            }

            @Override
            public String getDescription() {
                return "Multi-Video Files";
            }
        });
        File file;
        if(JFileChooser.APPROVE_OPTION==fc.showDialog(null, "Select Files"))   
        {
           File file = fc.getSelectedFile();  //HERE YOU WILL GET THE SELECTED FILE 
        }
        }catch(Exception e){System.out.println("error");
        }

ディレクトリのみを参照する場合は、

JFileChooser fc = new JFileChooser();
     File file;
     fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

     if(JFileChooser.APPROVE_OPTION==fc.showDialog(null, "Select"))   
     {
      File file = fc.getSelectedFile();  //HERE YOU WILL GET THE SELECTED DIRECTORY PATH 
     }
于 2012-12-24T18:06:30.337 に答える