javax.swing.filechooser.FileFilter#accept ( )源码实例Demo

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

源代码1 项目: Bytecoder   文件: JFileChooser.java
/**
 * Sets the current file filter. The file filter is used by the
 * file chooser to filter out files from the user's view.
 *
 * @param filter the new current file filter to use
 * @see #getFileFilter
 */
@BeanProperty(preferred = true, description
        = "Sets the File Filter used to filter out files of type.")
public void setFileFilter(FileFilter filter) {
    FileFilter oldValue = fileFilter;
    fileFilter = filter;
    if (filter != null) {
        if (isMultiSelectionEnabled() && selectedFiles != null && selectedFiles.length > 0) {
            Vector<File> fList = new Vector<File>();
            boolean failed = false;
            for (File file : selectedFiles) {
                if (filter.accept(file)) {
                    fList.add(file);
                } else {
                    failed = true;
                }
            }
            if (failed) {
                setSelectedFiles((fList.size() == 0) ? null : fList.toArray(new File[fList.size()]));
            }
        } else if (selectedFile != null && !filter.accept(selectedFile)) {
            setSelectedFile(null);
        }
    }
    firePropertyChange(FILE_FILTER_CHANGED_PROPERTY, oldValue, fileFilter);
}
 
源代码2 项目: openjdk-jdk9   文件: JFileChooser.java
/**
 * Sets the current file filter. The file filter is used by the
 * file chooser to filter out files from the user's view.
 *
 * @param filter the new current file filter to use
 * @see #getFileFilter
 */
@BeanProperty(preferred = true, description
        = "Sets the File Filter used to filter out files of type.")
public void setFileFilter(FileFilter filter) {
    FileFilter oldValue = fileFilter;
    fileFilter = filter;
    if (filter != null) {
        if (isMultiSelectionEnabled() && selectedFiles != null && selectedFiles.length > 0) {
            Vector<File> fList = new Vector<File>();
            boolean failed = false;
            for (File file : selectedFiles) {
                if (filter.accept(file)) {
                    fList.add(file);
                } else {
                    failed = true;
                }
            }
            if (failed) {
                setSelectedFiles((fList.size() == 0) ? null : fList.toArray(new File[fList.size()]));
            }
        } else if (selectedFile != null && !filter.accept(selectedFile)) {
            setSelectedFile(null);
        }
    }
    firePropertyChange(FILE_FILTER_CHANGED_PROPERTY, oldValue, fileFilter);
}
 
源代码3 项目: energy2d   文件: MiscUtil.java
/**
 * If the user does not input the extension specified by the file filter, automatically augment the file name with the specified extension.
 */
public static String fileNameAutoExtend(FileFilter filter, File file) {
	if (filter == null)
		return file.getAbsolutePath();
	String description = filter.getDescription().toLowerCase();
	String extension = getExtensionInLowerCase(file);
	String filename = file.getAbsolutePath();
	if (extension != null) {
		if (!filter.accept(file)) {
			filename = file.getAbsolutePath().concat(".").concat(description);
		}
	} else {
		filename = file.getAbsolutePath().concat(".").concat(description);
	}
	return filename;
}
 
源代码4 项目: visualvm   文件: Openfile.java
private boolean openSnapshot(final File file, final List<SnapshotCategory> snapshots) {
    if (file.isFile()) {
        for (SnapshotCategory s : snapshots) {
            FileFilter filter = s.getFileFilter();

            if (filter.accept(file)) {
                s.openSnapshot(file);
                return true;
            }
        }
    }
    return false;
}
 
源代码5 项目: snap-desktop   文件: MaskFormActions.java
private void importMasks() {
    final JFileChooser fileChooser = new SnapFileChooser();
    fileChooser.setDialogTitle("Import Masks from file");
    final FileFilter bmdFilter = new SnapFileFilter("BITMASK_DEFINITION_FILE", ".bmd",
                                                    "Bitmask definition files (*.bmd)");
    fileChooser.addChoosableFileFilter(bmdFilter);
    final FileFilter bmdxFilter = new SnapFileFilter("BITMASK_DEFINITION_FILE_XML", ".bmdx",
                                                     "Bitmask definition xml files (*.bmdx)");
    fileChooser.addChoosableFileFilter(bmdxFilter);
    final FileFilter xmlFilter = new SnapFileFilter("XML", ".xml", "XML files (*.xml)");
    fileChooser.setFileFilter(xmlFilter);
    fileChooser.setCurrentDirectory(getDirectory());
    fileChooser.setMultiSelectionEnabled(true);
    if (fileChooser.showOpenDialog(SwingUtilities.getWindowAncestor(maskTopComponent)) == JFileChooser.APPROVE_OPTION) {
        final File file = fileChooser.getSelectedFile();
        if (file != null) {
            setDirectory(file.getAbsoluteFile().getParentFile());
            if (file.canRead()) {
                if (bmdFilter.accept(file)) {
                    importMaskFromBmd(file);
                } else if (bmdxFilter.accept(file)) {
                    importMasksFromBmdx(file);
                } else {
                    importMasksFromXml(file);
                }

            }
        }
    }
}
 
源代码6 项目: wandora   文件: RegexFileChooser.java
public static java.io.FileFilter ioFileFilter(final FileFilter ff){
    return new java.io.FileFilter(){
        public boolean accept(File pathname){
            return ff.accept(pathname);
        }
    };
}
 
源代码7 项目: scifio   文件: ComboFileFilter.java
/** Accepts files with the proper filename prefix. */
@Override
public boolean accept(final File file) {
	for (final FileFilter filter : fileFilters) {
		if (filter.accept(file)) return true;
	}
	return false;
}
 
源代码8 项目: zxpoly   文件: MainForm.java
private void menuFileLoadSnapshotActionPerformed(ActionEvent evt) {
  stepSemaphor.lock();
  try {
    this.turnZxKeyboardOff();
    if (AppOptions.getInstance().isTestRomActive()) {
      final JHtmlLabel label = new JHtmlLabel(
          "<html><body>ZX-Spectrum 128 ROM is required to load snapshots.<br>Go to menu <b><i><a href=\"rom\">File->Options</i></b></i> and choose ROM 128.</body></html>");
      label.addLinkListener((source, link) -> {
        if ("rom".equals(link)) {
          SwingUtilities.windowForComponent(source).setVisible(false);
          SwingUtilities.invokeLater(() -> menuFileOptions.doClick());
        }
      });
      JOptionPane.showMessageDialog(MainForm.this, label, "ZX-Spectrum ROM 128 image is required",
          JOptionPane.WARNING_MESSAGE);
      return;
    }

    final FileFilter formatZ80 = new FormatZ80();
    final FileFilter formatSNA = new FormatSNA();
    final FileFilter formatZXP = new FormatZXP();
    final FileFilter formatSpec256 = new FormatSpec256();

    final FileFilter formatAll = new FileFilter() {
      @Override
      public boolean accept(File f) {
        return formatZ80.accept(f)
            || formatSpec256.accept(f)
            || formatSNA.accept(f)
            || formatZXP.accept(f);
      }

      @Override
      public String getDescription() {
        return "All snapshots (*.z80, *.sna, *.zip, *.zxp)";
      }
    };

    final AtomicReference<FileFilter> theFilter = new AtomicReference<>();
    final File selected =
        chooseFileForOpen("Select snapshot", this.lastSnapshotFolder, theFilter, formatAll,
            formatZ80, formatSpec256, formatSNA, formatZXP);

    if (selected != null) {
      this.board.forceResetAllCpu();
      this.board.resetIoDevices();

      this.lastSnapshotFolder = selected.getParentFile();
      try {
        if (theFilter.get() == formatAll) {
          if (formatZ80.accept(selected)) {
            theFilter.set(formatZ80);
          } else if (formatSNA.accept(selected)) {
            theFilter.set(formatSNA);
          } else if (formatZXP.accept(selected)) {
            theFilter.set(formatZXP);
          } else {
            theFilter.set(formatSpec256);
          }
        }

        final Snapshot selectedFilter = (Snapshot) theFilter.get();
        LOGGER.log(Level.INFO, "Loading snapshot " + selectedFilter.getName());
        selectedFilter.loadFromArray(selected, this.board, this.board.getVideoController(),
            FileUtils.readFileToByteArray(selected));
        this.menuOptionsZX128Mode.setState(this.board.getBoardMode() != BoardMode.ZXPOLY);
      } catch (Exception ex) {
        ex.printStackTrace();
        LOGGER.log(Level.WARNING, "Can't read snapshot file [" + ex.getMessage() + ']', ex);
        JOptionPane.showMessageDialog(this, "Can't read snapshot file [" + ex.getMessage() + ']',
            "Error", JOptionPane.ERROR_MESSAGE);
      }
    }
  } finally {
    this.turnZxKeyboardOn();
    stepSemaphor.unlock();
  }
}
 
源代码9 项目: tracker   文件: TFrame.java
/**
  * Loads an object with data from an XMLControl.
  *
  * @param control the control
  * @param obj the object
  * @return the loaded object
  */
 public Object loadObject(XMLControl control, Object obj) {
 	TFrame frame = (TFrame) obj;
 	FileFilter videoFilter = new VideoFileFilter();
   String[][] tabs = (String[][])control.getObject("tabs"); //$NON-NLS-1$
String base = control.getString("basepath"); //$NON-NLS-1$
File dataFile = null;
   if (tabs!=null) {
   	boolean prev = TrackerIO.loadInSeparateThread;
   	TrackerIO.loadInSeparateThread = false;
   	for (String[] next: tabs) {
   		File file = null;
   		Resource res = null;
   		if (base!=null) {
   			file = new File(base, next[1]); // next[1] is relative path
   			res = ResourceLoader.getResource(file.getPath());
   		}
   		if (res==null) {
   			file = new File(XML.getUserDirectory(), next[1]);
   			res = ResourceLoader.getResource(file.getPath());
   		}
   		if (res==null && next[0]!=null) {
   			file = new File(next[0]); // next[0] is absolute path
   			res = ResourceLoader.getResource(file.getPath());
   		}
   		if (res==null) {
         int i = JOptionPane.showConfirmDialog(frame, "\""+next[1]+"\" "                                       //$NON-NLS-1$ //$NON-NLS-2$
             +MediaRes.getString("VideoClip.Dialog.VideoNotFound.Message"),                                  //$NON-NLS-1$
             TrackerRes.getString("TFrame.Dialog.FileNotFound.Title"),                                   //$NON-NLS-1$
             JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
         if(i==JOptionPane.YES_OPTION) {
           TrackerIO.getChooser().setSelectedFile(file);
           java.io.File[] files = TrackerIO.getChooserFiles("open");                                         //$NON-NLS-1$
           if(files!=null) {
             file = files[0];
           }
           else continue;
         }
         else continue;
   		}
   		if (res!=null && !videoFilter.accept(file)) {
   			if (dataFile==null) dataFile = file;
   			TrackerIO.open(file, frame);
   		}
   	}
   	TrackerIO.loadInSeparateThread = prev;
   }
   int n = frame.getTab(dataFile);
   OSPLog.finest("selecting first tabset tab at index "+n); //$NON-NLS-1$
   frame.setSelectedTab(n);
   return obj;
 }
 
 同类方法