1

该文件必须是工具的输入文件才能进一步处理它。

我是java新手..会感谢任何帮助。

这是我当前的文件选择器代码。

private void browseButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                              
        // TODO add your handling code here:
        JFileChooser chooser = new JFileChooser();
      chooser.showOpenDialog(null);
      File f = chooser.getSelectedFile();
      String filename = f.getAbsolutePath();
      textField1.setText(filename);
    }                                   
4

3 回答 3

3

也许您想阅读 API 文档: http ://docs.oracle.com/javase/6/docs/api/javax/swing/JFileChooser.html

上面写着:

以下代码为用户的主目录弹出一个文件选择器,该目录只显示 .jpg 和 .gif 图像:

JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
    "JPG & GIF Images", "jpg", "gif");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(parent);
if(returnVal == JFileChooser.APPROVE_OPTION) {
   System.out.println("You chose to open this file: " +
        chooser.getSelectedFile().getName());
}
于 2013-04-15T09:27:12.477 回答
1

尝试将 FileFilter 与 JFileChooser 一起使用。使用文件过滤器,您可以指定要填充的文件类型(仅说 .jpg 文件)。这是你的参考链接。* http://www.cs.cf.ac.uk/Dave/HCI/HCI_Handout_CALLER/node99.html *

于 2013-04-15T09:28:46.730 回答
0

您可以创建自定义文件过滤器,例如

class Chooser extends JFrame {
        JFileChooser chooser;
        String fileName;

        public Chooser() {
            chooser = new JFileChooser();

            int retVal = 0;
            chooser.setAcceptAllFileFilterUsed(false);
            chooser.addChoosableFileFilter(new CUFilter());
            retVal = chooser.showOpenDialog(null);

            if (retVal == JFileChooser.APPROVE_OPTION) {
                fileName = chooser.getSelectedFile().getPath();
                // Ok logic
            }
        }
    }

    class CUFilter extends FileFilter {

        public boolean accept(File f) {
            if (f.isDirectory())
                return true;
            String s = f.getName();
            int i = s.lastIndexOf('.');

            if (i > 0 && i < s.length() - 1)
                if (s.substring(i + 1).toLowerCase().equals("mo"))
                    return true;

            return false;
        }

        public String getDescription() {
            return "Accept .mo files only";
        }
    }
于 2013-04-15T10:14:34.080 回答