javax.swing.JFileChooser#setFileFilter ( )源码实例Demo

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

源代码1 项目: zxpoly   文件: MainForm.java
private File chooseFileForOpen(final String title, final File initial,
                               final AtomicReference<FileFilter> selectedFilter,
                               final FileFilter... filter) {
  final JFileChooser chooser = new JFileChooser(initial);
  for (final FileFilter f : filter) {
    chooser.addChoosableFileFilter(f);
  }
  chooser.setAcceptAllFileFilterUsed(false);
  chooser.setMultiSelectionEnabled(false);
  chooser.setDialogTitle(title);
  chooser.setFileFilter(filter[0]);
  chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

  final File result;
  if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
    result = chooser.getSelectedFile();
    if (selectedFilter != null) {
      selectedFilter.set(chooser.getFileFilter());
    }
  } else {
    result = null;
  }
  return result;
}
 
源代码2 项目: CyberSecurity   文件: PictureEdit.java
/**
 * Opens a file by opening a JFileChooser which allows the user to select
 * the file they would like to open.
 *
 * @return true if the file successfully opened, false otherwise.
 */

public boolean open()
{
JFileChooser chooser = new JFileChooser(".");
  	FileNameExtensionFilter filter = new FileNameExtensionFilter("PNG Images", "png");
   chooser.setFileFilter(filter);
   int returnVal = chooser.showOpenDialog(null);
   if(returnVal == JFileChooser.APPROVE_OPTION) {
	try{
		File file = chooser.getSelectedFile();
		image = ImageIO.read(file);
		revertImage = copyImage(image);
	}
	catch(Exception e){
		return false;
	}

	return true;
   }
   else
   {
   	return false;
   }
}
 
源代码3 项目: netbeans   文件: JFXRunPanel.java
private void buttonWebPageActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonWebPageActionPerformed
    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(null);
    chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
    chooser.setMultiSelectionEnabled(false);
    chooser.setFileFilter(new HtmlFileFilter());
    if (lastHtmlFolder != null) {
        chooser.setSelectedFile(lastHtmlFolder);
    } else { // ???
        // workDir = FileUtil.toFile(project.getProjectDirectory()).getAbsolutePath();
        // chooser.setSelectedFile(new File(workDir));
    }
    chooser.setDialogTitle(NbBundle.getMessage(JFXDeploymentPanel.class, "LBL_Select_HTML_File")); // NOI18N
    if (JFileChooser.APPROVE_OPTION == chooser.showOpenDialog(this)) {
        File file = FileUtil.normalizeFile(chooser.getSelectedFile());
        textFieldWebPage.setText(file.getAbsolutePath());
        lastHtmlFolder = file.getParentFile();
    }
}
 
源代码4 项目: importer-exporter   文件: ThreeDBalloonPanel.java
private void loadFile() {
	JFileChooser fileChooser = new JFileChooser();

	FileNameExtensionFilter filter = new FileNameExtensionFilter("HTML Files (*.htm, *.html)", "htm", "html");
	fileChooser.addChoosableFileFilter(filter);
	fileChooser.addChoosableFileFilter(fileChooser.getAcceptAllFileFilter());
	fileChooser.setFileFilter(filter);

	if (internalBalloon.getBalloonContentPath().isSetLastUsedMode()) {
		fileChooser.setCurrentDirectory(new File(internalBalloon.getBalloonContentPath().getLastUsedPath()));
	} else {
		fileChooser.setCurrentDirectory(new File(internalBalloon.getBalloonContentPath().getStandardPath()));
	}
	int result = fileChooser.showSaveDialog(getTopLevelAncestor());
	if (result == JFileChooser.CANCEL_OPTION) return;
	try {
		String exportString = fileChooser.getSelectedFile().toString();
		browseText.setText(exportString);
		internalBalloon.getBalloonContentPath().setLastUsedPath(fileChooser.getCurrentDirectory().getAbsolutePath());
		internalBalloon.getBalloonContentPath().setPathMode(PathMode.LASTUSED);
	}
	catch (Exception e) {
		//
	}
}
 
源代码5 项目: Course_Generator   文件: frmMain.java
/**
 * Display a dialog box to open a CGX file
 */
private void OpenCGXDialog() {
	JFileChooser fileChooser = new JFileChooser();
	fileChooser.setCurrentDirectory(new File(Settings.previousCGXDirectory)); // System.getProperty("user.home")));
	fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

	FileFilter cgxFilter = new FileTypeFilter(".cgx", bundle.getString("frmMain.CGXFile")); // "CGX
																							// file");
	fileChooser.addChoosableFileFilter(cgxFilter);
	fileChooser.setFileFilter(cgxFilter);

	int result = fileChooser.showOpenDialog(this);
	if (result == JFileChooser.APPROVE_OPTION) {
		File selectedFile = fileChooser.getSelectedFile();
		LoadCGX(selectedFile.getAbsolutePath());
		Settings.previousCGXDirectory = Utils.GetDirFromFilename(selectedFile.getAbsolutePath());
	}
}
 
源代码6 项目: MeteoInfo   文件: FrmLayerProperty.java
private void jButton_ExportLegendActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton_ExportLegendActionPerformed
    // TODO add your handling code here:
    JFileChooser aDlg = new JFileChooser();
    String[] fileExts = new String[]{"lgs"};
    GenericFileFilter mapFileFilter = new GenericFileFilter(fileExts, "LegendScheme file (*.lgs)");
    aDlg.setFileFilter(mapFileFilter);
    String path = System.getProperty("user.dir");
    aDlg.setCurrentDirectory(new File(path));
    if (JFileChooser.APPROVE_OPTION == aDlg.showSaveDialog(this)) {
        File aFile = aDlg.getSelectedFile();
        String filePath = aFile.getAbsolutePath();
        if (!filePath.substring(filePath.length() - 4).equals(".lgs")) {
            filePath = filePath + ".lgs";
        }
        try {
            _legendScheme.exportToXMLFile(filePath);
        } catch (ParserConfigurationException ex) {
            Logger.getLogger(FrmLayerProperty.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
 
源代码7 项目: Robot-Overlord-App   文件: ViewElementFilename.java
/**
 * Panel action, update entity
 */
@Override
public void actionPerformed(ActionEvent arg0) {
	JFileChooser chooser = new JFileChooser();
	if(filters.size()==0) return;  // @TODO: fail!
	if(filters.size()==1) chooser.setFileFilter(filters.get(0));
	else {
		Iterator<FileFilter> i = filters.iterator();
		while(i.hasNext()) {
			chooser.addChoosableFileFilter(i.next());
		}
	}
	if(lastPath!=null) chooser.setCurrentDirectory(new File(lastPath));
	int returnVal = chooser.showDialog(ro.getMainFrame(), Translator.get("Select"));
	if(returnVal == JFileChooser.APPROVE_OPTION) {
		String newFilename = chooser.getSelectedFile().getAbsolutePath();
		lastPath = chooser.getSelectedFile().getParent();

		ro.undoableEditHappened(new UndoableEditEvent(this,new ActionChangeString(e, newFilename) ) );
	}
}
 
源代码8 项目: constellation   文件: ExportGlyphTexturesAction.java
@Override
public void actionPerformed(ActionEvent e) {

    final JFileChooser fileChooser = new JFileChooser();
    fileChooser.setMultiSelectionEnabled(false);
    fileChooser.setFileFilter(new FileNameExtensionFilter("PNG Images", "png"));
    if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
        final File file = fileChooser.getSelectedFile();
        SharedDrawable.exportGlyphTextures(file);
    }
}
 
源代码9 项目: portecle   文件: FileChooserFactory.java
/**
 * Get a JFileChooser filtered for X.509 Certificate files.
 *
 * @param basename default filename (without extension)
 * @return JFileChooser object
 */
public static JFileChooser getX509FileChooser(String basename)
{
	JFileChooser chooser = new JFileChooser();
	FileExtFilter extFilter = new FileExtFilter(X509_EXTS, X509_FILE_DESC);
	chooser.addChoosableFileFilter(extFilter);
	chooser.setFileFilter(extFilter);
	chooser.setSelectedFile(getDefaultFile(basename, X509_EXTS[0]));
	chooser.setFileView(new PortecleFileView());
	return chooser;
}
 
源代码10 项目: jadx   文件: MainWindow.java
private void saveProjectAs() {
	JFileChooser fileChooser = new JFileChooser();
	fileChooser.setAcceptAllFileFilterUsed(true);
	String[] exts = { JadxProject.PROJECT_EXTENSION };
	String description = "supported files: " + Arrays.toString(exts).replace('[', '(').replace(']', ')');
	fileChooser.setFileFilter(new FileNameExtensionFilter(description, exts));
	fileChooser.setToolTipText(NLS.str("file.save_project"));
	Path currentDirectory = settings.getLastSaveProjectPath();
	if (currentDirectory != null) {
		fileChooser.setCurrentDirectory(currentDirectory.toFile());
	}
	int ret = fileChooser.showSaveDialog(mainPanel);
	if (ret == JFileChooser.APPROVE_OPTION) {
		settings.setLastSaveProjectPath(fileChooser.getCurrentDirectory().toPath());

		Path path = fileChooser.getSelectedFile().toPath();
		if (!path.getFileName().toString().toLowerCase(Locale.ROOT).endsWith(JadxProject.PROJECT_EXTENSION)) {
			path = path.resolveSibling(path.getFileName() + "." + JadxProject.PROJECT_EXTENSION);
		}

		if (Files.exists(path)) {
			int res = JOptionPane.showConfirmDialog(
					this,
					NLS.str("confirm.save_as_message", path.getFileName()),
					NLS.str("confirm.save_as_title"),
					JOptionPane.YES_NO_OPTION);
			if (res == JOptionPane.NO_OPTION) {
				return;
			}
		}
		project.saveAs(path);
		update();
	}
}
 
public static File openDialog(String desc, String... fileFormat) {
    JFileChooser fileChooser = createFileChooser();
    fileChooser.setCurrentDirectory(new File(System.getProperty("user.dir")));
    if (fileFormat != null && fileFormat.length > 0) {
        fileChooser.setFileFilter(new FileNameExtensionFilter(desc, fileFormat));
    }
    int option = fileChooser.showOpenDialog(null);
    if (option == JFileChooser.APPROVE_OPTION) {
        return fileChooser.getSelectedFile();
    }
    return null;
}
 
源代码12 项目: trufflesqueak   文件: FileChooser.java
public static String run() {
    final JFileChooser squeakImageChooser = new JFileChooser();
    squeakImageChooser.setFileFilter(new SqueakImageFilter());
    squeakImageChooser.setApproveButtonToolTipText("Open selected image with TruffleSqueak");
    final long result = squeakImageChooser.showOpenDialog(null);
    if (result == JFileChooser.APPROVE_OPTION) {
        return squeakImageChooser.getSelectedFile().getAbsolutePath();
    }
    return null;
}
 
源代码13 项目: orson-charts   文件: ExportToJPEGAction.java
/**
 * Writes the content of the panel to a PNG image, using Java's ImageIO.
 * 
 * @param e  the event.
 */
@Override
public void actionPerformed(ActionEvent e) {
    JFileChooser fileChooser = new JFileChooser();
    FileNameExtensionFilter filter = new FileNameExtensionFilter(
            Resources.localString("JPG_FILE_FILTER_DESCRIPTION"), "jpg");
    fileChooser.addChoosableFileFilter(filter);
    fileChooser.setFileFilter(filter);

    int option = fileChooser.showSaveDialog(this.panel);
    if (option == JFileChooser.APPROVE_OPTION) {
        String filename = fileChooser.getSelectedFile().getPath();
        if (!filename.endsWith(".jpg")) {
            filename = filename + ".jpg";
        }
        Dimension2D size = this.panel.getSize();
        int w = (int) size.getWidth();
        int h = (int) size.getHeight();
        BufferedImage image = new BufferedImage(w, h, 
                BufferedImage.TYPE_INT_RGB);
        Graphics2D g2 = image.createGraphics();
        this.panel.getDrawable().draw(g2, new Rectangle(w, h));
        try {
            ImageIO.write(image, "jpeg", new File(filename));
        } catch (IOException ex) {
            throw new RuntimeException(ex);
        }
    }
}
 
源代码14 项目: cncgcodecontroller   文件: JPanelSettings.java
private void jBImportActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBImportActionPerformed
    JFileChooser fc = DatabaseV2.getFileChooser();
    fc.setFileFilter(new FileFilter() 
    {
        @Override
        public boolean accept(File f) 
        {
            return f.getName().toLowerCase().endsWith(".ois")||f.isDirectory();
        }

        @Override
        public String getDescription() 
        {
            return "Settings files (*.ois)";
        }
    });
    fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
    fc.setMultiSelectionEnabled(false);

    if(fc.showOpenDialog(this) != JFileChooser.APPROVE_OPTION)
    {
        return;
    }
    
    if(DatabaseV2.load(fc.getSelectedFile()) == false)
    {
        JOptionPane.showMessageDialog(this, "Cannot import settings!");
    }
    
    fireupdateGUI();
    
}
 
源代码15 项目: mzmine2   文件: RObjectsPanel.java
private void _saveActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event__saveActionPerformed
  int[] i = _oList.getSelectedRows();
  String[] o = new String[i.length];
  for (int j = 0; j < i.length; j++) {
    o[j] = (String) _oList.getValueAt(i[j], 0);
  }
  JFileChooser fc = new JFileChooser();
  fc.setFileFilter(new FileNameExtensionFilter("R data file", "Rdata"));
  if (R != null) {
    fc.setSelectedFile(new File(R.cat("_", o) + ".Rdata"));
    if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION && fc.getSelectedFile() != null) {
      R.save(fc.getSelectedFile(), o);
    }
  }
}
 
源代码16 项目: lsdpatch   文件: FontEditor.java
void showSaveDialog() {
    JFileChooser chooser = new JFileChooser();
    FileNameExtensionFilter filter = new FileNameExtensionFilter("LSDj Font", "lsdfnt");
    chooser.setFileFilter(filter);
    String fontName = fontSelector.getSelectedItem().toString();
    chooser.setSelectedFile(new java.io.File(fontName + ".lsdfnt"));
    int returnVal = chooser.showSaveDialog(this);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
        String filename = chooser.getSelectedFile().toString();
        if (!filename.endsWith("lsdfnt")) {
            filename += ".lsdfnt";
        }
        fontMap.save(filename, fontName);
    }
}
 
源代码17 项目: PyramidShader   文件: FileUtils.java
/**
 * Ask the user for a file using the Swing JFileChooser. On macOS,
 * JFileChooser is poorly implemented, and therefore the AWT FileDialog
 * should be used on macOS.
 */
private static String askSwingFile(java.awt.Frame frame, String message,
        String defaultFile, FileNameExtensionFilter filter, boolean load) {

    // load the directory last visited from the preferences
    String LAST_USED_DIRECTORY = "last_directory";
    Preferences prefs = Preferences.userRoot().node(FileUtils.class.getName());
    String lastDir = prefs.get(LAST_USED_DIRECTORY, new File(".").getAbsolutePath());

    JFileChooser fc = new JFileChooser(lastDir);
    if (filter != null) {
        fc.setFileFilter(filter);
    }
    fc.setDialogTitle(message);
    File selFile;
    // set default file
    try {
        File f = new File(new File(defaultFile).getCanonicalPath());
        fc.setSelectedFile(f);
    } catch (Exception e) {
    }

    int result;
    do {
        if (load) {
            // Show open dialog
            result = fc.showOpenDialog(frame);
        } else {
            // Show save dialog
            result = fc.showSaveDialog(frame);
        }

        if (result != JFileChooser.APPROVE_OPTION) {
            return null;
        }

        selFile = fc.getSelectedFile();
        if (selFile == null) {
            return null;
        }

        // store directory in preferences
        prefs.put(LAST_USED_DIRECTORY, selFile.getParent());

    } while (!load && !askOverwrite(selFile, fc));

    return selFile.getPath();
}
 
源代码18 项目: netbeans   文件: ResultsManager.java
SelectedFile selectSnapshotTargetFile(final String defaultName, final boolean heapdump) {
    String targetName;
    FileObject targetDir;

    // 1. let the user choose file or directory
    JFileChooser chooser = new JFileChooser();

    if (exportDir != null) {
        chooser.setCurrentDirectory(exportDir);
    }

    chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    chooser.setMultiSelectionEnabled(false);
    chooser.setDialogTitle(Bundle.ResultsManager_SelectFileOrDirDialogCaption());
    chooser.setApproveButtonText(Bundle.ResultsManager_SaveButtonName());
    chooser.setAcceptAllFileFilterUsed(false);
    chooser.setFileFilter(new javax.swing.filechooser.FileFilter() {
            public boolean accept(File f) {
                return f.isDirectory() || f.getName().endsWith("." + (heapdump ? HEAPDUMP_EXTENSION : SNAPSHOT_EXTENSION)); //NOI18N
            }

            public String getDescription() {
                if (heapdump) {
                    return Bundle.ResultsManager_ProfilerHeapdumpFileFilter(HEAPDUMP_EXTENSION);
                }
                return Bundle.ResultsManager_ProfilerSnapshotFileFilter(SNAPSHOT_EXTENSION);
            }
        });

    if (chooser.showSaveDialog(WindowManager.getDefault().getMainWindow()) != JFileChooser.APPROVE_OPTION) {
        return null; // cancelled by the user
    }

    // 2. process both cases and extract file name and extension to use
    File file = chooser.getSelectedFile();
    String targetExt = heapdump ? HEAPDUMP_EXTENSION : SNAPSHOT_EXTENSION;

    if (file.isDirectory()) { // save to selected directory under default name
        exportDir = chooser.getCurrentDirectory();
        targetDir = FileUtil.toFileObject(FileUtil.normalizeFile(file));
        targetName = defaultName;
    } else { // save to selected file
        exportDir = chooser.getCurrentDirectory();

        targetDir = FileUtil.toFileObject(FileUtil.normalizeFile(exportDir));

        String fName = file.getName();

        // divide the file name into name and extension
        int idx = fName.lastIndexOf('.'); // NOI18N

        if (idx == -1) { // no extension
            targetName = fName;

            // extension will be used from source file
        } else { // extension exists
            if (heapdump || fName.endsWith("." + targetExt)) { // NOI18N
                targetName = fName.substring(0, idx);
                targetExt = fName.substring(idx + 1);
            } else {
                targetName = fName;
            }
        }
    }

    // 3. return a newly created FileObject
    return new SelectedFile(targetDir, targetName, targetExt);
}
 
源代码19 项目: PolyGlot   文件: ScrMainMenu.java
/**
 * Export dictionary to excel file
 */
private void exportToExcel() {
    JFileChooser chooser = new JFileChooser();
    chooser.setDialogTitle("Export Language to Excel");
    FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel Files", "xls");
    chooser.setFileFilter(filter);
    chooser.setApproveButtonText("Save");
    chooser.setCurrentDirectory(core.getWorkingDirectory());

    String fileName = core.getCurFileName().replaceAll(".pgd", ".xls");
    chooser.setSelectedFile(new File(fileName));

    if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
        fileName = chooser.getSelectedFile().getAbsolutePath();
    } else {
        return;
    }

    if (!fileName.contains(".xls")) {
        fileName += ".xls";
    }

    if (!new File(fileName).exists()
            || InfoBox.actionConfirmation("Overwrite File?", "File with this name and location already exists. Continue/Overwrite?", this)) {
        try {
            Java8Bridge.exportExcelDict(fileName, core,
                    InfoBox.actionConfirmation("Excel Export",
                            "Export all declensions? (Separates parts of speech into individual tabs)",
                            core.getRootWindow()));

            // only prompt user to open if Desktop supported
            if (Desktop.isDesktopSupported()) {
                if (InfoBox.actionConfirmation("Export Sucess", "Language exported to " + fileName + ".\nOpen now?", this)) {
                    Desktop.getDesktop().open(new File(fileName));
                }
            } else {
                InfoBox.info("Export Status", "Language exported to " + fileName + ".", core.getRootWindow());
            }
        } catch (IOException e) {
            IOHandler.writeErrorLog(e);
            InfoBox.info("Export Problem", e.getLocalizedMessage(), core.getRootWindow());
        }
    }
}
 
源代码20 项目: megamek   文件: BoardEditor.java
public void boardLoad() {
    JFileChooser fc = new JFileChooser(loadPath);
    setDialogSize(fc);
    fc.setDialogTitle(Messages.getString("BoardEditor.loadBoard"));
    fc.setFileFilter(new FileFilter() {
        @Override
        public boolean accept(File dir) {
            return (dir.getName().endsWith(".board") || dir.isDirectory()); //$NON-NLS-1$
        }

        @Override
        public String getDescription() {
            return "*.board";
        }
    });
    ignoreHotKeys = true;
    int returnVal = fc.showOpenDialog(frame);
    ignoreHotKeys = false;
    saveDialogSize(fc);
    if ((returnVal != JFileChooser.APPROVE_OPTION) || (fc.getSelectedFile() == null)) {
        // I want a file, y'know!
        return;
    }
    curfile = fc.getSelectedFile();
    loadPath = curfile.getPath();
    // load!
    try (InputStream is = new FileInputStream(fc.getSelectedFile())) {            
        // tell the board to load!
        StringBuffer errBuff = new StringBuffer();
        board.load(is, errBuff, true);
        if (errBuff.length() > 0) {
            showBoardValidationReport(errBuff);
        }
        // Board generation in a game always calls BoardUtilities.combine
        // This serves no purpose here, but is necessary to create 
        // flipBGVert/flipBGHoriz lists for the board, which is necessary 
        // for the background image to work in the BoardEditor
        board = BoardUtilities.combine(board.getWidth(), board.getHeight(), 1, 1, 
                new IBoard[]{board}, Collections.singletonList(false), MapSettings.MEDIUM_GROUND);
        game.setBoard(board);
        cheRoadsAutoExit.setSelected(board.getRoadsAutoExit());
        mapSettings.setBoardSize(board.getWidth(), board.getHeight());
        refreshTerrainList();
        setupUiFreshBoard();
    } catch (IOException ex) {
        System.err.println("error opening file to load!"); //$NON-NLS-1$
        System.err.println(ex);
    }
}