java.awt.FileDialog#setFilenameFilter ( )源码实例Demo

下面列出了java.awt.FileDialog#setFilenameFilter ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: pumpernickel   文件: ImageQuantizationDemo.java
/**
 * If invoked from within a Frame: this pulls up a FileDialog to browse for
 * a file. If this is invoked from a secure applet: then this will throw an
 * exception.
 * 
 * @param ext
 *            an optional list of extensions
 * @return a File, or null if the user declined to select anything.
 */
public File browseForFile(String... ext) {
	Window w = SwingUtilities.getWindowAncestor(this);
	if (!(w instanceof Frame))
		throw new IllegalStateException();
	Frame frame = (Frame) w;
	FileDialog fd = new FileDialog(frame);
	if (ext != null && ext.length > 0
			&& (!(ext.length == 1 && ext[0] == null)))
		fd.setFilenameFilter(new SuffixFilenameFilter(ext));
	fd.pack();
	fd.setLocationRelativeTo(null);
	fd.setVisible(true);
	String d = fd.getFile();
	if (d == null)
		return null;
	return new File(fd.getDirectory() + fd.getFile());
}
 
源代码2 项目: toxiclibs   文件: FileUtils.java
/**
 * Displays a standard AWT file dialog for choosing a file for loading or
 * saving.
 * 
 * @param frame
 *            parent frame
 * @param title
 *            dialog title
 * @param path
 *            base directory (or null)
 * @param filter
 *            a FilenameFilter implementation (or null)
 * @param mode
 *            either FileUtils.LOAD or FileUtils.SAVE
 * @return path to chosen file or null, if user has canceled
 */
public static String showFileDialog(final Frame frame, final String title,
        String path, FilenameFilter filter, final int mode) {
    String fileID = null;
    FileDialog fd = new FileDialog(frame, title, mode);
    if (path != null) {
        fd.setDirectory(path);
    }
    if (filter != null) {
        fd.setFilenameFilter(filter);
    }
    fd.setVisible(true);
    if (fd.getFile() != null) {
        fileID = fd.getFile();
        fileID = fd.getDirectory() + fileID;
    }
    return fileID;
}
 
源代码3 项目: triplea   文件: SaveGameFileChooser.java
/**
 * Displays a file chooser dialog for the user to select the file to which the current game should
 * be saved.
 *
 * @param frame The owner of the file chooser dialog; may be {@code null}.
 * @return The file to which the current game should be saved or {@code null} if the user
 *     cancelled the operation.
 */
public static File getSaveGameLocation(final Frame frame, final GameData gameData) {
  final FileDialog fileDialog = new FileDialog(frame);
  fileDialog.setMode(FileDialog.SAVE);
  fileDialog.setDirectory(ClientSetting.saveGamesFolderPath.getValueOrThrow().toString());
  fileDialog.setFilenameFilter((dir, name) -> GameDataFileUtils.isCandidateFileName(name));
  fileDialog.setFile(getSaveGameName(gameData));

  fileDialog.setVisible(true);
  final String fileName = fileDialog.getFile();
  if (fileName == null) {
    return null;
  }

  // If the user selects a filename that already exists,
  // the AWT Dialog will ask the user for confirmation
  return new File(fileDialog.getDirectory(), GameDataFileUtils.addExtensionIfAbsent(fileName));
}
 
源代码4 项目: mpcmaid   文件: MainFrame.java
public void open() {
	final FileDialog openDialog = new FileDialog(this);
	openDialog.setDirectory(Preferences.getInstance().getOpenPath());
	openDialog.setMode(FileDialog.LOAD);
	openDialog.setFilenameFilter(new FilenameFilter() {
		public boolean accept(File dir, String name) {
			String[] supportedFiles = { "PGM", "pgm" };
			for (int i = 0; i < supportedFiles.length; i++) {
				if (name.endsWith(supportedFiles[i])) {
					return true;
				}
			}
			return false;
		}
	});
	openDialog.setVisible(true);
	Preferences.getInstance().setOpenPath(openDialog.getDirectory());
	if (openDialog.getDirectory() != null && openDialog.getFile() != null) {
		String filePath = openDialog.getDirectory() + openDialog.getFile();
		System.out.println(filePath);
		final File pgmFile = new File(filePath);
		final MainFrame newFrame = new MainFrame(pgmFile);
		newFrame.show();
	}
}
 
源代码5 项目: CQL   文件: FileChooser.java
/**
 *
 *
 * @param title
 * @param mode
 * @param filter
 *
 * @return
 */
private static File chooseFileAWT(String title, Mode mode, FileFilter filter) {
	Easik e = Easik.getInstance();
	EasikSettings s = e.getSettings();
	FileDialog dialog = new FileDialog(e.getFrame(), title,
			(mode == Mode.SAVE) ? FileDialog.SAVE : FileDialog.LOAD);

	dialog.setDirectory(s.getDefaultFolder());

	if ((mode == Mode.DIRECTORY) && EasikConstants.RUNNING_ON_MAC) {
		System.setProperty("apple.awt.fileDialogForDirectories", "true");
	} else if (filter != null) {
		dialog.setFilenameFilter(filter);
	}

	// Show the dialog (this blocks until the user is done)
	dialog.setVisible(true);

	if ((mode == Mode.DIRECTORY) && EasikConstants.RUNNING_ON_MAC) {
		System.setProperty("apple.awt.fileDialogForDirectories", "false");
	}

	String filename = dialog.getFile();

	if (filename == null) {
		return null;
	}

	File selected = new File(dialog.getDirectory(), filename);

	if (mode != Mode.DIRECTORY) {
		s.setProperty("folder_last", selected.getParentFile().getAbsolutePath());
	}

	return selected;
}
 
源代码6 项目: pumpernickel   文件: FileDialogUtils.java
/**
 * Returns files the user selected or an empty array if the user cancelled
 * the dialog.
 */
public static File[] showOpenDialog(Frame f, String title,
		boolean allowMultipleSelection, FilenameFilter filter) {
	FileDialog fd = new FileDialog(f, title);
	fd.setMode(FileDialog.LOAD);
	if (filter != null)
		fd.setFilenameFilter(filter);
	fd.pack();
	fd.setMultipleMode(allowMultipleSelection);
	fd.setLocationRelativeTo(null);
	fd.setVisible(true);
	if (fd.getFile() == null)
		return new File[] {};
	return fd.getFiles();
}
 
源代码7 项目: pumpernickel   文件: FileDialogUtils.java
/**
 * Show a save FileDialog.
 * 
 * @param f
 *            the frame that owns the FileDialog.
 * @param title
 *            the dialog title
 * @param filename
 *            the optional default filename shown in the file dialog.
 * @param extension
 *            the file extension ("xml", "png", etc.)
 * @return a File the user chose.
 */
public static File showSaveDialog(Frame f, String title, String filename,
		String extension) {
	if (extension.startsWith("."))
		extension = extension.substring(1);

	FileDialog fd = new FileDialog(f, title);
	fd.setMode(FileDialog.SAVE);
	if (filename != null)
		fd.setFile(filename);
	fd.setFilenameFilter(new SuffixFilenameFilter(extension));
	fd.pack();
	fd.setLocationRelativeTo(null);
	fd.setVisible(true);

	String s = fd.getFile();
	if (s == null)
		return null;

	if (s.toLowerCase().endsWith("." + extension)) {
		return new File(fd.getDirectory() + s);
	}

	// TODO: show a 'are you sure you want to replace' dialog here, if we
	// change the filename
	// native FileDialogs don't always show the right warning dialog IF the
	// file extension
	// isn't present

	return new File(fd.getDirectory() + fd.getFile() + "." + extension);
}
 
源代码8 项目: pumpernickel   文件: FilePanel.java
/**
 * Show a browse dialog, using the current file extensions if they are
 * defined.
 * <p>
 * In a JNLP session this uses a FileOpenService, but otherwise this uses an
 * AWT file dialog.
 *
 * @param component
 *            a component that relates to the Frame the possible dialog may
 *            be anchored to. This can be any component that is showing.
 * @param extensions
 *            a list of possible extensions (or null if all files are
 *            accepted).
 * @return the FileData the user selected, or null if the user cancelled
 *         this operation.
 */
public static FileData doBrowse(Component component, String[] extensions) {
	/*
	 * if(JVM.isJNLP()) { try { FileOpenService fos =
	 * (FileOpenService)ServiceManager.lookup("javax.jnlp.FileOpenService");
	 * final FileContents contents = fos.openFileDialog(null, extensions);
	 * if(contents==null) return null; return new
	 * FileContentsWrapper(contents); } catch(Exception e) {
	 * e.printStackTrace(); } }
	 */
	Window w = SwingUtilities.getWindowAncestor(component);
	if (w instanceof Frame) {
		Frame f = (Frame) w;
		FileDialog fd = new FileDialog(f);
		String[] ext = extensions;
		if (ext != null && ext.length > 0) {
			fd.setFilenameFilter(new SuffixFilenameFilter(ext));
		}
		fd.pack();
		fd.setLocationRelativeTo(null);
		fd.setVisible(true);

		if (fd.getFile() == null)
			return null;

		File file = new File(fd.getDirectory() + fd.getFile());
		return new FileWrapper(file);
	} else {
		throw new RuntimeException("window ancestor: " + w);
	}
}
 
源代码9 项目: swingsane   文件: CustomSettingsDialog.java
private File getLoadFile(String filename, String extension) {
  FileDialog fd = new FileDialog((JDialog) getRootPane().getTopLevelAncestor(),
      Localizer.localize("LoadScannerOptionsFromFileTitle"), FileDialog.LOAD);
  fd.setDirectory(".");
  FilenameExtensionFilter filter = new FilenameExtensionFilter();
  filter.addExtension("xml");
  fd.setFilenameFilter(filter);
  fd.setModal(true);
  fd.setVisible(true);
  if (fd.getFile() == null) {
    return null;
  }
  return new File(fd.getDirectory() + File.separator + fd.getFile());
}
 
源代码10 项目: swingsane   文件: CustomSettingsDialog.java
private File getSaveFile(String filename, String extension) {
  FileDialog fd = new FileDialog((JDialog) getRootPane().getTopLevelAncestor(),
      Localizer.localize("SaveScannerOptionsToFileTitle"), FileDialog.SAVE);
  fd.setDirectory(".");
  FilenameExtensionFilter filter = new FilenameExtensionFilter();
  filter.addExtension("xml");
  fd.setFilenameFilter(filter);
  fd.setFile(filename + "." + extension);
  fd.setModal(true);
  fd.setVisible(true);
  if (fd.getFile() == null) {
    return null;
  }
  return new File(fd.getDirectory() + File.separator + fd.getFile());
}
 
源代码11 项目: swingsane   文件: PreviewPanel.java
private File getSaveFile(String filename, String extension) {
  FileDialog fd = new FileDialog((Frame) getRootPane().getTopLevelAncestor(),
      Localizer.localize("SaveImagesToFileTittle"), FileDialog.SAVE);
  fd.setDirectory(".");
  FilenameExtensionFilter filter = new FilenameExtensionFilter();
  filter.addExtension(extension);
  fd.setFilenameFilter(filter);
  fd.setFile(filename + "." + extension);
  fd.setModal(true);
  fd.setVisible(true);
  return new File(fd.getDirectory() + File.separator + fd.getFile());
}
 
源代码12 项目: binnavi   文件: CFileChooser.java
private static int showNativeFileDialog(final JFileChooser chooser) {
  final FileDialog result = new FileDialog((Frame) chooser.getParent());

  result.setDirectory(chooser.getCurrentDirectory().getPath());

  final File selected = chooser.getSelectedFile();
  result.setFile(selected == null ? "" : selected.getPath());
  result.setFilenameFilter(new FilenameFilter() {
    @Override
    public boolean accept(final File dir, final String name) {
      return chooser.getFileFilter().accept(new File(dir.getPath() + File.pathSeparator + name));
    }
  });

  if (chooser.getDialogType() == SAVE_DIALOG) {
    result.setMode(FileDialog.SAVE);
  } else {
    // The native dialog only support Open and Save
    result.setMode(FileDialog.LOAD);
  }

  if (chooser.getFileSelectionMode() == DIRECTORIES_ONLY) {
    System.setProperty("apple.awt.fileDialogForDirectories", "true");
  }

  // Display dialog
  result.setVisible(true);

  System.setProperty("apple.awt.fileDialogForDirectories", "false");
  if (result.getFile() == null) {
    return CANCEL_OPTION;
  }

  final String selectedDir = result.getDirectory();
  chooser
      .setSelectedFile(new File(FileUtils.ensureTrailingSlash(selectedDir) + result.getFile()));
  return APPROVE_OPTION;
}
 
源代码13 项目: toxiclibs   文件: FileUtils.java
/**
 * Displays a standard AWT file dialog for choosing a file for loading or
 * saving.
 * 
 * @param frame
 *            parent frame
 * @param title
 *            dialog title
 * @param path
 *            base directory (or null)
 * @param formats
 *            an array of allowed file extensions (or null to allow all)
 * @param mode
 *            either FileUtils.LOAD or FileUtils.SAVE
 * @return path to chosen file or null, if user has canceled
 */
public static String showFileDialog(final Frame frame, final String title,
        String path, final String[] formats, final int mode) {
    String fileID = null;
    FileDialog fd = new FileDialog(frame, title, mode);
    if (path != null) {
        fd.setDirectory(path);
    }
    if (formats != null) {
        fd.setFilenameFilter(new FilenameFilter() {

            public boolean accept(File dir, String name) {
                boolean isAccepted = false;
                for (String ext : formats) {
                    if (name.indexOf(ext) != -1) {
                        isAccepted = true;
                        break;
                    }
                }
                return isAccepted;
            }
        });
    }
    fd.setVisible(true);
    if (fd.getFile() != null) {
        fileID = fd.getFile();
        fileID = fd.getDirectory() + fileID;
    }
    return fileID;
}
 
源代码14 项目: triplea   文件: GameFileSelector.java
/**
 * Opens up a UI pop-up allowing user to select a game file. Returns nothing if user closes the
 * pop-up.
 */
public Optional<File> selectGameFile(final Frame owner) {
  final FileDialog fileDialog = new FileDialog(owner);
  fileDialog.setMode(FileDialog.LOAD);
  fileDialog.setDirectory(ClientSetting.saveGamesFolderPath.getValueOrThrow().toString());
  fileDialog.setFilenameFilter((dir, name) -> GameDataFileUtils.isCandidateFileName(name));
  fileDialog.setVisible(true);

  // FileDialog.getFiles() always returns an array
  // of 1 or 0 items, because FileDialog.multipleMode is false by default
  return Arrays.stream(fileDialog.getFiles()).findAny().map(this::mapFileResult);
}
 
源代码15 项目: mpcmaid   文件: MainFrame.java
public void saveAs() {
	final FileDialog saveDialog = new FileDialog(this);
	saveDialog.setDirectory(Preferences.getInstance().getSavePath());
	saveDialog.setMode(FileDialog.SAVE);
	saveDialog.setFilenameFilter(new FilenameFilter() {
		public boolean accept(File dir, String name) {
			String[] supportedFiles = { "PGM", "pgm" };
			for (int i = 0; i < supportedFiles.length; i++) {
				if (name.endsWith(supportedFiles[i])) {
					return true;
				}
			}
			return false;
		}
	});
	saveDialog.setVisible(true);
	Preferences.getInstance().setSavePath(saveDialog.getDirectory());
	String filename = saveDialog.getFile();
	if (saveDialog.getDirectory() != null && filename != null) {
		if (!filename.toUpperCase().endsWith(".PGM")) {
			filename += ".PGM";
		}
		String filePath = saveDialog.getDirectory() + filename;
		System.out.println(filePath);
		final File file = new File(filePath);
		setPgmFile(file);
		program.save(pgmFile);
	}
}
 
源代码16 项目: BART   文件: Export.java
private File chooseFile() {
    JFrame mainFrame = (JFrame) WindowManager.getDefault().getMainWindow();
    FileDialog fileDialog = new FileDialog(mainFrame, new File(System.getProperty("user.home")).toString());
    fileDialog.setTitle("Export changes in cvs file");
    fileDialog.setFile("expected.csv");
    fileDialog.setMode(FileDialog.SAVE);
    fileDialog.setFilenameFilter(new ExtFileFilter("csv"));
    fileDialog.setVisible(true);
    String filename = fileDialog.getFile();
    if (filename == null){
        return null;
    }
    String dir = fileDialog.getDirectory();
    return new File(dir + File.separator + filename);
}