Example usage for javax.swing JFileChooser getFileFilter

List of usage examples for javax.swing JFileChooser getFileFilter

Introduction

In this page you can find the example usage for javax.swing JFileChooser getFileFilter.

Prototype

public FileFilter getFileFilter() 

Source Link

Document

Returns the currently selected file filter.

Usage

From source file:app.RunApp.java

/**
 * Action for Save button from principal tab
 * /*from  ww  w. ja  v a  2  s .  c  om*/
 * @param evt Event
 * @param jtable Table
 * @throws IOException 
 */
private void buttonSaveActionPerformedPrincipal(java.awt.event.ActionEvent evt, JTable jtable)
        throws IOException {
    ArrayList<String> metricsList = getMetricsSelectedPrincipal(jtable);

    if (dataset == null) {
        JOptionPane.showMessageDialog(null, "You must load a dataset.", "Warning", JOptionPane.ERROR_MESSAGE);
        return;
    }

    JFileChooser fc = new JFileChooser();

    // extension txt
    FileNameExtensionFilter fname = new FileNameExtensionFilter(".txt", "txt");
    FileNameExtensionFilter fname2 = new FileNameExtensionFilter(".csv", "csv");
    FileNameExtensionFilter fname3 = new FileNameExtensionFilter(".arff", ".arff");
    FileNameExtensionFilter fname4 = new FileNameExtensionFilter(".tex", ".tex");

    //Remove default
    fc.removeChoosableFileFilter(fc.getChoosableFileFilters()[0]);

    fc.addChoosableFileFilter(fname);
    fc.addChoosableFileFilter(fname2);
    fc.addChoosableFileFilter(fname3);
    fc.addChoosableFileFilter(fname4);

    fc.setFileFilter(fname);

    int returnVal = fc.showSaveDialog(this);

    if (returnVal == JFileChooser.APPROVE_OPTION) {
        File file = fc.getSelectedFile();
        FileFilter f1 = fc.getFileFilter();

        String path;
        BufferedWriter bw;
        PrintWriter wr;

        switch (f1.getDescription()) {
        case ".txt":
            path = file.getAbsolutePath() + ".txt";
            bw = new BufferedWriter(new FileWriter(path));
            wr = new PrintWriter(bw);
            ResultsIOUtils.saveMetricsTxt(wr, metricsList, dataset, tableMetrics);
            wr.close();
            bw.close();
            JOptionPane.showMessageDialog(null, "File saved.", "Successful", JOptionPane.INFORMATION_MESSAGE);
            break;
        case ".tex":
            path = file.getAbsolutePath() + ".tex";
            bw = new BufferedWriter(new FileWriter(path));
            wr = new PrintWriter(bw);
            ResultsIOUtils.saveMetricsTex(wr, metricsList, tableMetrics);
            wr.close();
            bw.close();
            JOptionPane.showMessageDialog(null, "File saved.", "Successful", JOptionPane.INFORMATION_MESSAGE);
            break;
        case ".csv":
            path = file.getAbsolutePath() + ".csv";
            bw = new BufferedWriter(new FileWriter(path));
            wr = new PrintWriter(bw);
            ResultsIOUtils.saveMetricsCsv(wr, metricsList, dataset, tableMetrics);
            wr.close();
            bw.close();
            JOptionPane.showMessageDialog(null, "File saved.", "Successful", JOptionPane.INFORMATION_MESSAGE);
            break;
        case ".arff":
            path = file.getAbsolutePath() + ".arff";
            bw = new BufferedWriter(new FileWriter(path));
            wr = new PrintWriter(bw);
            ResultsIOUtils.saveMetricsArff(wr, metricsList, dataset, tableMetrics);
            wr.close();
            bw.close();
            JOptionPane.showMessageDialog(null, "File saved.", "Successful", JOptionPane.INFORMATION_MESSAGE);
            break;
        default:
            break;
        }

        Toolkit.getDefaultToolkit().beep();
    }
}

From source file:com.monead.semantic.workbench.SemanticWorkbench.java

/**
 * Save the text from the SPARQL query text area to a file.
 * //from  w ww.ja  va  2s  . co m
 */
private void saveSparqlQueryToFile() {
    FileWriter out;
    JFileChooser fileChooser;
    FileFilter defaultFileFilter = null;
    FileFilter preferredFileFilter = null;
    File destinationFile;
    int choice;

    out = null;

    if (lastDirectoryUsed == null) {
        lastDirectoryUsed = new File(".");
    }

    fileChooser = new JFileChooser();

    for (FileFilterDefinition filterDefinition : FileFilterDefinition.values()) {
        if (filterDefinition.name().startsWith("SPARQL")) {
            final FileFilter fileFilter = new SuffixFileFilter(filterDefinition.description(),
                    filterDefinition.acceptedSuffixes());
            if (filterDefinition.isPreferredOption()) {
                preferredFileFilter = fileFilter;
            }
            fileChooser.addChoosableFileFilter(fileFilter);
            if (filterDefinition.description().equals(latestChosenSparqlFileFilterDescription)) {
                defaultFileFilter = fileFilter;
            }
        }
    }

    if (defaultFileFilter != null) {
        fileChooser.setFileFilter(defaultFileFilter);
    } else if (latestChosenSparqlFileFilterDescription != null
            && latestChosenSparqlFileFilterDescription.startsWith("All")) {
        fileChooser.setFileFilter(fileChooser.getAcceptAllFileFilter());
    } else if (preferredFileFilter != null) {
        fileChooser.setFileFilter(preferredFileFilter);
    }

    if (sparqlQueryFile != null) {
        fileChooser.setSelectedFile(sparqlQueryFile);
    } else {
        fileChooser.setSelectedFile(lastDirectoryUsed);
    }

    fileChooser.setDialogTitle("Save SPARQL Query to File");
    choice = fileChooser.showSaveDialog(this);

    try {
        latestChosenSparqlFileFilterDescription = fileChooser.getFileFilter().getDescription();
    } catch (Throwable throwable) {
        LOGGER.warn("Unable to determine which SPARQL file filter was chosen", throwable);
    }

    destinationFile = fileChooser.getSelectedFile();

    // Did not click save, did not select a file or chose a directory
    // So do not write anything
    if (choice != JFileChooser.APPROVE_OPTION || destinationFile == null
            || (destinationFile.exists() && !destinationFile.isFile())) {
        return; // EARLY EXIT!
    }

    // Adjust file suffix if necessary
    final FileFilter fileFilter = fileChooser.getFileFilter();
    if (fileFilter != null && fileFilter instanceof SuffixFileFilter
            && !fileChooser.getFileFilter().accept(destinationFile)) {
        destinationFile = ((SuffixFileFilter) fileFilter).makeWithPrimarySuffix(destinationFile);
    }

    if (okToOverwriteFile(destinationFile)) {

        LOGGER.info("Write SPARQL query to file, " + destinationFile);

        try {
            out = new FileWriter(destinationFile, false);

            if (sparqlServiceUrl.getSelectedIndex() != 0) {

                out.write(
                        "# " + SPARQL_QUERY_SAVE_SERVICE_URL_PARAM + sparqlServiceUrl.getSelectedItem() + "\n");
            } else {
                out.write("# " + SPARQL_QUERY_SAVE_SERVICE_URL_PARAM
                        + SPARQL_QUERY_SAVE_SERVICE_URL_VALUE_FOR_NO_SERVICE_URL + "\n");
            }

            if (defaultGraphUri.getText().trim().length() > 0) {
                out.write("# " + SPARQL_QUERY_SAVE_SERVICE_DEFAULT_GRAPH_PARAM
                        + defaultGraphUri.getText().trim() + "\n");
            }
            out.write(sparqlInput.getText());
            setSparqlQueryFile(destinationFile);
        } catch (IOException ioExc) {
            final String errorMessage = "Unable to write to file: " + destinationFile;
            LOGGER.error(errorMessage, ioExc);
            throw new RuntimeException(errorMessage, ioExc);
        } finally {
            if (out != null) {
                try {
                    out.close();
                } catch (Throwable throwable) {
                    final String errorMessage = "Failed to close output file: " + destinationFile;
                    LOGGER.error(errorMessage, throwable);
                    throw new RuntimeException(errorMessage, throwable);
                }
            }
            setTitle();
        }
    }
}

From source file:base.BasePlayer.Main.java

public void actionPerformed(ActionEvent e) {
    //Logo.frame.setVisible(false);
    if (e.getSource() == pleiadesButton) {
        gotoURL("http://kaptah.local.lab.helsinki.fi/pleiades/");

    } else if (e.getSource() == manage) {

        if (VariantHandler.frame == null) {
            VariantHandler.main(argsit);
        }/*w  ww.j  ava 2  s  . com*/
        VariantHandler.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantHandler.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);

        VariantHandler.frame.setState(JFrame.NORMAL);
        VariantHandler.frame.setVisible(true);
        Draw.calculateVars = true;
        Draw.updatevars = true;
        drawCanvas.repaint();

    } else if (e.getSource() == tbrowser) {
        tablebrowser.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantCaller.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);
        tablebrowser.frame.setState(JFrame.NORMAL);

        tablebrowser.frame.setVisible(true);
    } else if (e.getSource() == bconvert) {
        bedconverter.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantCaller.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);
        bedconverter.frame.setState(JFrame.NORMAL);

        bedconverter.frame.setVisible(true);
    } else if (e.getSource() == peakCaller) {
        if (PeakCaller.frame == null) {

            PeakCaller.main(argsit);

        }
        PeakCaller.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantCaller.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);
        PeakCaller.frame.setState(JFrame.NORMAL);
        PeakCaller.frame.setVisible(true);
    } else if (e.getSource() == variantCaller) {

        //FileRead.checkSamples();

        if (VariantCaller.frame == null) {

            VariantCaller.main(argsit);

        }
        VariantCaller.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - VariantCaller.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);
        VariantCaller.frame.setState(JFrame.NORMAL);
        VariantCaller.frame.setVisible(true);
    } else if (e.getSource() == average) {
        if (Average.frame == null) {
            Average.createAndShowGUI();
        }
        Average.setSamples();

        Average.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - Average.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);

        Average.frame.setState(JFrame.NORMAL);
        Average.frame.setVisible(true);
    } else if (e.getSource() == errorlog) {

        ErrorLog.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - ErrorLog.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);

        //      VariantHandler.frame.setAlwaysOnTop(true);   
        ErrorLog.frame.setState(JFrame.NORMAL);
        ErrorLog.frame.setVisible(true);

    }
    /*   else if(e.getSource() == help) {
          JOptionPane.showMessageDialog(Main.chromDraw, "This is pre-release version of BasePlayer\nContact: help@baseplayer.fi\nUniversity of Helsinki", "Help", JOptionPane.INFORMATION_MESSAGE);
       }*/
    else if (e.getSource() == settings) {

        Settings.frame.setLocation(
                frame.getLocationOnScreen().x + frame.getWidth() / 2 - Settings.frame.getWidth() / 2,
                frame.getLocationOnScreen().y + frame.getHeight() / 6);

        Settings.frame.setState(JFrame.NORMAL);
        Settings.frame.setVisible(true);
    } else if (e.getSource() == update) {
        try {
            Updater update = new Updater();
            update.execute();

        } catch (Exception ex) {
            ex.printStackTrace();
        }

    } else if (e.getSource() == clearMemory) {
        FileRead.nullifyVarNodes();

        //FileRead.removeNonListVariants();f
        System.gc();
        chromDraw.repaint();
    } else if (e.getSource() == zoomout) {

        zoomout();
    } else if (e.getSource() == dosomething) {

        BedNode currentbed = bedCanvas.bedTrack.get(0).getHead().getNext();
        VarNode currentvar = FileRead.head.getNext();

        while (currentbed != null) {

            while (currentvar != null && currentvar.getPosition() < currentbed.getPosition()) {
                currentvar = currentvar.getNext();
            }
            while (currentbed != null
                    && currentvar.getPosition() > currentbed.getPosition() + currentbed.getLength()) {
                currentbed = currentbed.getNext();
            }

            if (currentvar != null && currentvar.getPosition() >= currentbed.getPosition()
                    && currentvar.getPosition() < currentbed.getPosition() + currentbed.getLength()) {
                currentvar.setBedhit(true);
                currentvar = currentvar.getNext();
            }
            if (currentvar == null) {
                break;
            }
            currentbed = currentbed.getNext();
        }

    } else if (e.getSource() == clear) {
        clearData();
    } else if (e.getSource() == exit) {

        System.exit(0);
    } else if (e.getSource() == openbams) {
        try {
            if (!checkGenome())
                return;
            if (VariantHandler.frame != null) {
                VariantHandler.frame.setState(Frame.ICONIFIED);
            }

            FileDialog fc = new FileDialog(frame, "Choose BAM file(s)", FileDialog.LOAD);
            fc.setDirectory(path);
            fc.setFile("*.bam;*.cram;*.link");
            fc.setFilenameFilter(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.toLowerCase().endsWith(".bam") || name.toLowerCase().endsWith(".cram")
                            || name.toLowerCase().endsWith(".link");
                }
            });
            fc.setMultipleMode(true);
            fc.setVisible(true);
            File[] openfiles = fc.getFiles();

            if (openfiles != null && openfiles.length > 0) {

                path = openfiles[0].getParent();
                writeToConfig("DefaultDir=" + path);
                FileRead filereader = new FileRead(openfiles);

                filereader.start = (int) drawCanvas.selectedSplit.start;
                filereader.end = (int) drawCanvas.selectedSplit.end;
                filereader.readBAM = true;
                filereader.execute();

            } else {
                //Main.showError("File(s) does not exist.", "Error");
            }

        } catch (Exception ex) {
            Main.showError(ex.getMessage(), "Error");
        }
    } else if (e.getSource() == openvcfs) {
        try {
            if (!checkGenome())
                return;
            if (VariantHandler.frame != null) {
                VariantHandler.frame.setState(Frame.ICONIFIED);
            }

            FileDialog fc = new FileDialog(frame, "Choose VCF file(s)", FileDialog.LOAD);
            fc.setDirectory(path);
            fc.setFile("*.vcf");
            fc.setFilenameFilter(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.toLowerCase().endsWith(".vcf") || name.toLowerCase().endsWith(".vcf.gz");
                }
            });

            fc.setMultipleMode(true);
            fc.setVisible(true);
            File[] openfiles = fc.getFiles();

            if (openfiles != null && openfiles.length > 0) {

                path = openfiles[0].getParent();
                writeToConfig("DefaultDir=" + path);
                FileRead filereader = new FileRead(openfiles);

                filereader.start = (int) drawCanvas.selectedSplit.start;
                filereader.end = (int) drawCanvas.selectedSplit.end;
                filereader.readVCF = true;
                filereader.execute();

            } else {
                //Main.showError("File(s) does not exist.", "Error");
            }

            if (1 == 1) {
                return;
            }

            JFileChooser chooser = new JFileChooser(path);
            getText(chooser.getComponents());
            chooser.setMultiSelectionEnabled(true);
            //chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
            chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
            chooser.setAcceptAllFileFilterUsed(false);
            chooser.addChoosableFileFilter(vcfFilter);
            chooser.addChoosableFileFilter(bamFilter);
            chooser.addChoosableFileFilter(linkFilter);
            if (defaultSelectType == "vcf") {
                chooser.setFileFilter(vcfFilter);
            } else if (defaultSelectType == "bam") {
                chooser.setFileFilter(bamFilter);
            } else {
                chooser.setFileFilter(linkFilter);
            }
            chooser.setDialogTitle("Add samples");
            chooser.setPreferredSize(
                    new Dimension((int) screenSize.getWidth() / 3, (int) screenSize.getHeight() / 3));
            int returnVal = chooser.showOpenDialog((Component) this.getParent());

            if (returnVal == JFileChooser.APPROVE_OPTION) {

                File vcffiles[] = chooser.getSelectedFiles();
                if (vcffiles.length == 1 && !vcffiles[0].exists() && pleiades) {

                    if (Main.chooserText.contains("`")) {
                        Main.chooserText.replace("`", "?");
                    }
                    if (Main.chooserText.contains(" ")) {
                        Main.chooserText.replace(" ", "%20");
                    }
                    if (Main.chooserText.contains("pleiades")) {
                        try {
                            URL url = new URL(Main.chooserText);
                            //System.out.println(Main.chooserText);
                            HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
                            httpConn.connect();

                            int responseCode = httpConn.getResponseCode();

                            if (responseCode == HttpsURLConnection.HTTP_OK) {

                                String loading = drawCanvas.loadingtext;
                                InputStream inputStream = httpConn.getInputStream();
                                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                                Main.drawCanvas.loadingtext = loading + " 0MB";
                                String line;
                                StringBuffer buffer = new StringBuffer("");
                                while ((line = reader.readLine()) != null) {

                                    buffer.append(line);

                                }
                                inputStream.close();
                                reader.close();
                                String split2;
                                String[] split = buffer.toString().split("dataUnit");
                                String location;
                                ArrayList<File> array = new ArrayList<File>();
                                File[] paths;
                                FileSystemView fsv = FileSystemView.getFileSystemView();
                                paths = File.listRoots();
                                String loc = "/mnt";
                                boolean missingfiles = false;
                                for (File path : paths) {
                                    if (fsv.getSystemDisplayName(path).contains("merit")) {
                                        loc = path.getCanonicalPath();
                                    }
                                }

                                for (int i = 0; i < split.length; i++) {

                                    if (!split[i].contains("lastLocation")) {

                                        continue;
                                    }

                                    split2 = split[i].split("\"lastLocation\":\"")[1];
                                    location = split2.substring(0, split2.indexOf("\"}"));
                                    String filename = "";
                                    String testloc = location.replace("/mnt", loc) + "/wgspipeline/";
                                    File testDir = new File(testloc);
                                    if (testDir.exists() && testDir.isDirectory()) {
                                        if (chooser.getFileFilter()
                                                .equals(chooser.getChoosableFileFilters()[1])) {
                                            File[] addDir = testDir.listFiles(new FilenameFilter() {
                                                public boolean accept(File dir, String name) {
                                                    return name.toLowerCase().endsWith(".bam")
                                                            || name.toLowerCase().endsWith(".cram");
                                                }
                                            });
                                            if (addDir.length > 0) {
                                                filename = addDir[0].getName();
                                            }
                                        } else {
                                            File[] addDir = testDir.listFiles(new FilenameFilter() {
                                                public boolean accept(File dir, String name) {
                                                    return name.toLowerCase().endsWith(".vcf.gz");
                                                }
                                            });
                                            if (addDir.length > 0) {
                                                filename = addDir[0].getName();
                                            }
                                        }
                                    }

                                    location = testloc + "/" + filename;

                                    if (!new File(location).exists()) {

                                        if (!new File(location).exists()) {
                                            missingfiles = true;
                                            ErrorLog.addError("No sample files found in " + testloc);

                                        } else {
                                            array.add(new File(location));
                                        }
                                    } else {

                                        array.add(new File(location));
                                    }
                                }

                                File[] files = new File[array.size()];
                                for (int i = 0; i < files.length; i++) {

                                    files[i] = array.get(i);
                                }
                                FileRead filereader = new FileRead(files);
                                filereader.start = (int) drawCanvas.selectedSplit.start;
                                filereader.end = (int) drawCanvas.selectedSplit.end;
                                if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[1])) {
                                    filereader.readBAM = true;
                                } else {
                                    filereader.readVCF = true;
                                }
                                filereader.execute();
                                if (missingfiles) {
                                    JOptionPane.showMessageDialog(Main.drawScroll,
                                            "Missing files. Check Tools->View log", "Note",
                                            JOptionPane.INFORMATION_MESSAGE);
                                }

                            }
                        } catch (Exception ex) {
                            ex.printStackTrace();
                        }
                    }

                    return;
                }

                if (vcffiles.length > 0) {
                    path = vcffiles[0].getParent();
                    writeToConfig("DefaultDir=" + path);
                    FileRead filereader = new FileRead(vcffiles);

                    if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[0])) {
                        defaultSelectType = "vcf";
                        filereader.start = (int) drawCanvas.selectedSplit.start;
                        filereader.end = (int) drawCanvas.selectedSplit.end;
                        filereader.readVCF = true;
                        filereader.execute();
                    } else if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[1])) {
                        defaultSelectType = "bam";
                        filereader.readBAM = true;
                        filereader.execute();
                    } else if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[2])) {

                        defaultSelectType = "link";
                        filereader.readBAM = true;
                        filereader.execute();
                    }
                } else {

                    JOptionPane.showMessageDialog(Main.drawScroll,
                            "The file does not exist. The file link may be broken.\nThe problem may also be the Java run time version in Linux.",
                            "Note", JOptionPane.INFORMATION_MESSAGE);
                }
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    } else if (e.getSource() == addcontrols) {
        if (!checkGenome())
            return;
        if (VariantHandler.frame != null) {
            VariantHandler.frame.setState(Frame.ICONIFIED);
        }
        FileDialog fc = new FileDialog(frame, "Choose control file(s)", FileDialog.LOAD);
        fc.setDirectory(Main.controlDir);
        fc.setFile("*.vcf.gz");
        fc.setFilenameFilter(new FilenameFilter() {
            public boolean accept(File dir, String name) {
                return name.toLowerCase().endsWith(".vcf.gz");
            }
        });
        fc.setMultipleMode(true);
        fc.setVisible(true);
        File[] openfiles = fc.getFiles();

        if (openfiles != null && openfiles.length > 0) {

            controlDir = openfiles[0].getParent();
            writeToConfig("DefaultControlDir=" + controlDir);

            Control.addFiles(openfiles);
        }
        if (1 == 1) {
            return;
        }
        JFileChooser chooser = new JFileChooser(controlDir);
        //        JFileChooser chooser = new JFileChooser(path);            
        chooser.setMultiSelectionEnabled(true);
        chooser.setAcceptAllFileFilterUsed(false);
        Control.MyFilter vcfFilter = new Control.MyFilter();
        chooser.addChoosableFileFilter(vcfFilter);

        chooser.setDialogTitle("Add controls");
        chooser.setPreferredSize(
                new Dimension((int) screenSize.getWidth() / 3, (int) screenSize.getHeight() / 3));
        int returnVal = chooser.showOpenDialog((Component) this.getParent());

        if (returnVal == JFileChooser.APPROVE_OPTION) {

            File vcffiles[] = chooser.getSelectedFiles();
            controlDir = vcffiles[0].getParent();
            writeToConfig("DefaultControlDir=" + controlDir);

            if (chooser.getFileFilter().equals(chooser.getChoosableFileFilters()[0])) {
                Control.addFiles(vcffiles);
            }
        }
    } else if (e.getSource() == addtracks) {
        if (!checkGenome())
            return;
        try {
            if (!checkGenome())
                return;
            if (VariantHandler.frame != null) {
                VariantHandler.frame.setState(Frame.ICONIFIED);
            }

            FileDialog fc = new FileDialog(frame, "Choose track file(s)", FileDialog.LOAD);
            fc.setDirectory(Main.trackDir);
            fc.setFile(
                    "*.bed;*.bedgraph.gz;*.gff.gz;*.gff3.gz;*.bigwig;*.bw;*.bigbed;*.bb;*.tsv.gz;*.tsv.bgz;*.txt");
            fc.setFilenameFilter(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.toLowerCase().endsWith(".bed") || name.toLowerCase().endsWith(".bed.gz")
                            || name.toLowerCase().endsWith(".bedgraph.gz")
                            || name.toLowerCase().endsWith(".bedgraph.gz")
                            || name.toLowerCase().endsWith(".bedgraph.gz")
                            || name.toLowerCase().endsWith(".gff.gz") || name.toLowerCase().endsWith(".gff3.gz")
                            || name.toLowerCase().endsWith(".bigwig") || name.toLowerCase().endsWith(".bw")
                            || name.toLowerCase().endsWith(".bigbed") || name.toLowerCase().endsWith(".bb")
                            || name.toLowerCase().endsWith(".tsv.gz") || name.toLowerCase().endsWith(".tsv.bgz")
                            || name.toLowerCase().endsWith(".txt");
                }
            });
            fc.setMultipleMode(true);
            fc.setVisible(true);
            File[] openfiles = fc.getFiles();

            if (openfiles != null && openfiles.length > 0) {

                trackDir = openfiles[0].getParent();
                writeToConfig("DefaultTrackDir=" + trackDir);
                FileRead filereader = new FileRead(openfiles);
                filereader.readBED = true;
                filereader.execute();

            } else {
                //Main.showError("File(s) does not exist.", "Error");
            }

        } catch (Exception ex) {
            Main.showError(ex.getMessage(), "Error");
        }
        if (1 == 1) {
            return;
        }
        if (VariantHandler.frame != null) {
            VariantHandler.frame.setState(Frame.ICONIFIED);
        }
        JFileChooser chooser = new JFileChooser(Main.trackDir);
        getText(chooser.getComponents());
        chooser.setMultiSelectionEnabled(true);
        chooser.setAcceptAllFileFilterUsed(false);
        MyFilterBED bedFilter = new MyFilterBED();
        MyFilterTXT txtFilter = new MyFilterTXT();
        chooser.addChoosableFileFilter(bedFilter);
        chooser.addChoosableFileFilter(txtFilter);
        chooser.setDialogTitle("Add tracks");
        chooser.setPreferredSize(
                new Dimension((int) screenSize.getWidth() / 3, (int) screenSize.getHeight() / 3));
        int returnVal = chooser.showOpenDialog((Component) this.getParent());

        try {

            if (returnVal == JFileChooser.APPROVE_OPTION) {

                File bedfiles[] = chooser.getSelectedFiles();
                if (bedfiles[0].exists()) {

                    trackDir = bedfiles[0].getParent();
                    writeToConfig("DefaultTrackDir=" + trackDir);
                    FileRead filereader = new FileRead(bedfiles);
                    filereader.readBED(bedfiles);

                } else {

                    if (Main.chooserText.length() > 5 && Main.chooserText.endsWith(".bed.gz")
                            || Main.chooserText.endsWith(".gff.gz") || Main.chooserText.endsWith(".gff3.gz")
                            || Main.chooserText.endsWith(".bedgraph.gz")) {

                        if (Main.chooserText.startsWith("http://") || Main.chooserText.startsWith("ftp://")) {

                            URL url = new URL(Main.chooserText);
                            SeekableStream stream = SeekableStreamFactory.getInstance().getStreamFor(url);
                            TabixReader tabixReader = null;
                            String index = null;

                            try {
                                tabixReader = new TabixReader(Main.chooserText, Main.chooserText + ".tbi",
                                        stream);
                                index = Main.chooserText + ".tbi";
                            } catch (Exception ex) {
                                try {
                                    tabixReader = new TabixReader(Main.chooserText,
                                            Main.chooserText.substring(0, Main.chooserText.indexOf(".gz"))
                                                    + ".tbi",
                                            stream);
                                    index = Main.chooserText.substring(0, Main.chooserText.indexOf(".gz"))
                                            + ".tbi";
                                } catch (Exception exc) {
                                    exc.printStackTrace();
                                }
                            }
                            if (tabixReader != null && index != null) {

                                FileRead filereader = new FileRead(bedfiles);
                                filereader.readBED(Main.chooserText, index, false);

                                tabixReader.close();
                            }
                        }
                    } else {
                        if (Main.chooserText.contains("://")) {

                            try {
                                //        bbreader = new BBFileReader(Main.chooserText, stream);

                            } catch (Exception ex) {
                                ex.printStackTrace();
                            }

                            //  if(bbreader != null) {

                            FileRead filereader = new FileRead(bedfiles);
                            filereader.readBED(Main.chooserText, "nan", false);

                            //     }
                            //     stream.close();
                        }
                    }
                }
            }

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    } else if (e.getSource() == openProject) {
        if (!checkGenome())
            return;
        if (VariantHandler.frame != null) {
            VariantHandler.frame.setState(Frame.ICONIFIED);
        }
        openProject();
    } else if (e.getSource() == saveProjectAs) {
        if (VariantHandler.frame != null) {
            VariantHandler.frame.setState(Frame.ICONIFIED);
        }
        try {
            File savefile = null;
            FileDialog fs = new FileDialog(frame, "Save project as...", FileDialog.SAVE);
            fs.setDirectory(projectDir);
            fs.setFile("*.ses");
            fs.setFilenameFilter(new FilenameFilter() {
                public boolean accept(File dir, String name) {
                    return name.toLowerCase().endsWith(".ses");
                }
            });
            fs.setVisible(true);

            while (true) {
                String filename = fs.getFile();

                if (filename != null) {
                    savefile = new File(fs.getDirectory() + "/" + filename);
                    projectDir = fs.getDirectory();
                    writeToConfig("DefaultProjectDir=" + projectDir);

                    /* if(!Files.isWritable(Paths.get(savefile.getParent()))) {
                       Main.showError("No permission to write.", "Error");
                       continue;
                     }*/

                    if (!savefile.getAbsolutePath().endsWith(".ses")) {
                        savefile = new File(savefile.getAbsolutePath() + ".ses");
                    }

                    Serializer ser = new Serializer();
                    ser.serialize(savefile);
                    break;
                } else {
                    break;
                }
            }
            if (1 == 1) {
                return;
            }
            JFileChooser chooser = new JFileChooser();
            chooser.setAcceptAllFileFilterUsed(false);
            MyFilterSES sesFilter = new MyFilterSES();
            chooser.addChoosableFileFilter(sesFilter);
            chooser.setDialogTitle("Save project as...");
            int returnVal = chooser.showSaveDialog((Component) this.getParent());

            if (returnVal == JFileChooser.APPROVE_OPTION) {
                File outfile = chooser.getSelectedFile();
                if (!outfile.getAbsolutePath().endsWith(".ses")) {
                    outfile = new File(outfile.getAbsolutePath() + ".ses");
                }

                Serializer ser = new Serializer();
                ser.serialize(outfile);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    } else if (e.getSource() == saveProject) {
        if (drawCanvas.drawVariables.projectName.equals("Untitled")) {
            saveProjectAs.doClick();
        } else {

            Serializer ser = new Serializer();
            ser.serialize(drawCanvas.drawVariables.projectFile);
        }
    }
    /*      else if(e.getSource() == welcome) {
             WelcomeScreen.main(args);
             WelcomeScreen.frame.setVisible(true);
             WelcomeScreen.frame.setLocation(frame.getLocationOnScreen().x+frame.getWidth()/2 - WelcomeScreen.frame.getWidth()/2, frame.getLocationOnScreen().y+frame.getHeight()/6);
                     
          }*/
}

From source file:org.domainmath.gui.MainFrame.java

public void saveplot() {
    JFileChooser fc = new JFileChooser();
    fc.setCurrentDirectory(new File(System.getProperty("user.dir") + File.separator + "works"));
    fc.setFileFilter(DomainMathFileFilter.SAVE_PLOT_FILE_FILTER);
    fc.setAcceptAllFileFilterUsed(false);
    fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
    fc.setMultiSelectionEnabled(false);//from   w w w. j av a2  s.  c om

    File file_plot;
    String name;
    int returnVal = fc.showSaveDialog(this);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
        System.err.println(fc.getFileFilter().getDescription());
        file_plot = fc.getSelectedFile();
        name = file_plot.getName();
        evaluateWithOutput("saveas(1," + "'" + file_plot.getAbsolutePath() + "');");

    }
}

From source file:org.f2o.absurdum.puck.gui.PuckFrame.java

/**
 * "Save As..." functionality//from w  w  w. j  a  v  a 2  s .  c o  m
 */
public boolean saveAs() throws Exception {
    JFileChooser jfc = new JFileChooser(".");
    FiltroFicheroMundo filter = new FiltroFicheroMundo();
    jfc.setFileFilter(filter);
    int opt = jfc.showSaveDialog(PuckFrame.this);
    if (opt == JFileChooser.APPROVE_OPTION) {
        File f = jfc.getSelectedFile();

        if (jfc.getFileFilter() == filter && !filter.acceptFilename(f)) {
            String fileName = f.getAbsolutePath();
            fileName += ".agw";
            f = new File(fileName);
        }

        saveToFile(f);
        editingFileName = f.toString();
        refreshTitle();
        addRecentFile(f);
        return true;
    } else
        return false;
}

From source file:org.fhaes.gui.ShapeFileDialog.java

/**
 * Prompt the user for an output filename
 * //from   www . j  a v  a2  s.  co  m
 * @param filter
 * @return
 */
private File getOutputFile(FileFilter filter) {

    String lastVisitedFolder = App.prefs.getPref(PrefKey.PREF_LAST_EXPORT_FOLDER, null);
    File outputFile;

    // Create a file chooser
    final JFileChooser fc = new JFileChooser(lastVisitedFolder);

    fc.setAcceptAllFileFilterUsed(true);

    if (filter != null) {
        fc.addChoosableFileFilter(filter);
        fc.setFileFilter(filter);
    }

    fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
    fc.setMultiSelectionEnabled(false);
    fc.setDialogTitle("Save as...");

    // In response to a button click:
    int returnVal = fc.showSaveDialog(this);

    if (returnVal == JFileChooser.APPROVE_OPTION) {
        outputFile = fc.getSelectedFile();

        if (FileUtils.getExtension(outputFile.getAbsolutePath()) == "") {
            log.debug("Output file extension not set by user");

            if (fc.getFileFilter().getDescription().equals(new SHPFileFilter().getDescription())) {
                log.debug("Adding shp extension to output file name");
                outputFile = new File(outputFile.getAbsolutePath() + ".shp");
            }
        } else {
            log.debug("Output file extension set my user to '"
                    + FileUtils.getExtension(outputFile.getAbsolutePath()) + "'");
        }

        App.prefs.setPref(PrefKey.PREF_LAST_EXPORT_FOLDER, outputFile.getAbsolutePath());
    } else {
        return null;
    }

    if (outputFile.exists()) {
        Object[] options = { "Overwrite", "No", "Cancel" };
        int response = JOptionPane.showOptionDialog(this,
                "The file '" + outputFile.getName() + "' already exists.  Are you sure you want to overwrite?",
                "Confirm", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, // do not use a custom Icon
                options, // the titles of buttons
                options[0]); // default button title

        if (response != JOptionPane.YES_OPTION) {
            return null;
        }
    }

    return outputFile;
}

From source file:org.processmining.analysis.performance.PerformanceAnalysisGUI.java

/**
 * Creates a filechooser where the user can select the (comma-seperated)
 * file that he wants to export to. If this file already exists, permission
 * to overwrite is requested, else a new file is created to which the
 * time-metrics of the selected place/transitions are exported.
 * /*  w w w .j ava2s. c om*/
 */
private void exportObjectMetrics() {
    // create and initialize the file chooser
    final JFileChooser fc = new JFileChooser();
    NameFilter filt1 = new NameFilter(".csv");
    NameFilter filt2 = new NameFilter(".txt");
    fc.addChoosableFileFilter(filt1);
    fc.addChoosableFileFilter(filt2);
    fc.setAcceptAllFileFilterUsed(false);
    fc.setFileFilter(filt1);
    // check whether a place is selected
    int result = fc.showDialog(this, "Export");
    if (result == 0) {
        // Export-button was pushed
        File selectedFile = fc.getSelectedFile();
        if (!(selectedFile.getName().endsWith(fc.getFileFilter().getDescription().substring(1)))) {
            // create new file, with filetype added to it
            selectedFile = new File(
                    selectedFile.getAbsolutePath() + fc.getFileFilter().getDescription().substring(1));
        }

        if (!selectedFile.exists()) {
            if (boxMap.get(sb1.getSelectedItem()) instanceof ExtendedPlace) {
                // actually perform export of place time-metrics
                exportPlaceMetrics(selectedFile);
            } else {
                if (boxMap.get(sb2.getSelectedItem()) instanceof ExtendedTransition) {
                    // actually perform export of transition time-metrics
                    exportTransitionMetrics(selectedFile);
                } else {
                    // actually perform export of activity time-metrics
                    exportActivityMetrics(selectedFile);
                }
            }
        } else {
            // file already exist, open a confirm dialog containing a
            // 'Yes' Button as well as a 'No' button
            int overwrite = JOptionPane.showConfirmDialog(this, "File already exists! Overwrite?",
                    "Confirm Dialog", 0);
            if (overwrite == 0) {
                // user has selected Yes
                if (boxMap.get(sb1.getSelectedItem()) instanceof ExtendedPlace) {
                    // actually perform export of place time-metrics
                    exportPlaceMetrics(selectedFile);
                } else {
                    if (boxMap.get(sb2.getSelectedItem()) instanceof ExtendedTransition) {
                        // actually perform export of transition
                        // time-metrics
                        exportTransitionMetrics(selectedFile);
                    } else {
                        // actually perform export of activity time-metrics
                        exportActivityMetrics(selectedFile);
                    }
                }
            }
        }
    }
}

From source file:org.processmining.analysis.performance.PerformanceAnalysisGUI.java

/**
 * Creates a filechooser where the user can select the (comma-seperated)
 * file that he wants to export to. If this file already exists, permission
 * to overwrite is requested, else a new file is created to which the
 * throughput times of the selected process instances are exported.
 * /*w ww  .  j  av  a2s  .  c o m*/
 */
private void exportProcessMetrics() {
    // create and initialize the file chooser
    final JFileChooser fc = new JFileChooser();
    NameFilter filt1 = new NameFilter(".csv");
    NameFilter filt2 = new NameFilter(".txt");
    fc.addChoosableFileFilter(filt1);
    fc.addChoosableFileFilter(filt2);
    fc.setAcceptAllFileFilterUsed(false);
    fc.setFileFilter(filt1);
    // check whether a place is selected
    int result = fc.showDialog(this, "Export");
    if (result == 0) {
        // Export-button was pushed
        File selectedFile = fc.getSelectedFile();
        if (!(selectedFile.getName().endsWith(fc.getFileFilter().getDescription().substring(1)))) {
            // create new file, with filetype added to it
            selectedFile = new File(
                    selectedFile.getAbsolutePath() + fc.getFileFilter().getDescription().substring(1));
        }
        if (!selectedFile.exists()) {
            try {
                // actually export the throughput times to the file
                replayResult.exportToFile(getSelectedInstances(), selectedFile, timeDivider, timeSort,
                        advancedSettings[0]);
            } catch (IOException ex) {
                Message.add("IO exception: " + ex.toString(), 2);
            }
        } else {
            // file already exist, open a confirm dialog containing a
            // 'Yes' Button as well as a 'No' button
            int overwrite = JOptionPane.showConfirmDialog(this, "File already exists! Overwrite?",
                    "Confirm Dialog", 0);
            if (overwrite == 0) {
                // user has selected Yes
                try {
                    // actually export the throughput times to the file
                    replayResult.exportToFile(getSelectedInstances(), selectedFile, timeDivider, timeSort,
                            advancedSettings[0]);
                } catch (IOException ex) {
                    Message.add("IO exception: " + ex.toString(), 2);
                }
            }
        }
    }
}

From source file:org.prom5.analysis.performance.PerformanceAnalysisGUI.java

/**
 * Creates a filechooser where the user can select the (comma-seperated)
 * file that he wants to export to. If this file already exists, permission
 * to overwrite is requested, else a new file is created to which the
 * time-metrics of the selected place/transitions are exported.
 *
 *///  w ww.j  av a2  s. c om
private void exportObjectMetrics() {
    //create and initialize the file chooser
    final JFileChooser fc = new JFileChooser();
    NameFilter filt1 = new NameFilter(".csv");
    NameFilter filt2 = new NameFilter(".txt");
    fc.addChoosableFileFilter(filt1);
    fc.addChoosableFileFilter(filt2);
    fc.setAcceptAllFileFilterUsed(false);
    fc.setFileFilter(filt1);
    //check whether a place is selected
    int result = fc.showDialog(this, "Export");
    if (result == 0) {
        //Export-button was pushed
        File selectedFile = fc.getSelectedFile();
        if (!(selectedFile.getName().endsWith(fc.getFileFilter().getDescription().substring(1)))) {
            //create new file, with filetype added to it
            selectedFile = new File(
                    selectedFile.getAbsolutePath() + fc.getFileFilter().getDescription().substring(1));
        }

        if (!selectedFile.exists()) {
            if (boxMap.get(sb1.getSelectedItem()) instanceof ExtendedPlace) {
                //actually perform export of place time-metrics
                exportPlaceMetrics(selectedFile);
            } else {
                if (boxMap.get(sb2.getSelectedItem()) instanceof ExtendedTransition) {
                    //actually perform export of transition time-metrics
                    exportTransitionMetrics(selectedFile);
                } else {
                    //actually perform export of activity time-metrics
                    exportActivityMetrics(selectedFile);
                }
            }
        } else {
            //file already exist, open a confirm dialog containing a
            //'Yes' Button as well as a 'No' button
            int overwrite = JOptionPane.showConfirmDialog(this, "File already exists! Overwrite?",
                    "Confirm Dialog", 0);
            if (overwrite == 0) {
                //user has selected Yes
                if (boxMap.get(sb1.getSelectedItem()) instanceof ExtendedPlace) {
                    //actually perform export of place time-metrics
                    exportPlaceMetrics(selectedFile);
                } else {
                    if (boxMap.get(sb2.getSelectedItem()) instanceof ExtendedTransition) {
                        //actually perform export of transition time-metrics
                        exportTransitionMetrics(selectedFile);
                    } else {
                        //actually perform export of activity time-metrics
                        exportActivityMetrics(selectedFile);
                    }
                }
            }
        }
    }
}

From source file:org.prom5.analysis.performance.PerformanceAnalysisGUI.java

/**
 * Creates a filechooser where the user can select the (comma-seperated)
 * file that he wants to export to. If this file already exists, permission
 * to overwrite is requested, else a new file is created to which the
 * throughput times of the selected process instances are exported.
 *
 *///  w  w w  .  j  a  v a 2 s  . c om
private void exportProcessMetrics() {
    //create and initialize the file chooser
    final JFileChooser fc = new JFileChooser();
    NameFilter filt1 = new NameFilter(".csv");
    NameFilter filt2 = new NameFilter(".txt");
    fc.addChoosableFileFilter(filt1);
    fc.addChoosableFileFilter(filt2);
    fc.setAcceptAllFileFilterUsed(false);
    fc.setFileFilter(filt1);
    //check whether a place is selected
    int result = fc.showDialog(this, "Export");
    if (result == 0) {
        //Export-button was pushed
        File selectedFile = fc.getSelectedFile();
        if (!(selectedFile.getName().endsWith(fc.getFileFilter().getDescription().substring(1)))) {
            //create new file, with filetype added to it
            selectedFile = new File(
                    selectedFile.getAbsolutePath() + fc.getFileFilter().getDescription().substring(1));
        }
        if (!selectedFile.exists()) {
            try {
                //actually export the throughput times to the file
                replayResult.exportToFile(getSelectedInstances(), selectedFile, timeDivider, timeSort,
                        advancedSettings[0]);
            } catch (IOException ex) {
                Message.add("IO exception: " + ex.toString(), 2);
            }
        } else {
            //file already exist, open a confirm dialog containing a
            //'Yes' Button as well as a 'No' button
            int overwrite = JOptionPane.showConfirmDialog(this, "File already exists! Overwrite?",
                    "Confirm Dialog", 0);
            if (overwrite == 0) {
                //user has selected Yes
                try {
                    //actually export the throughput times to the file
                    replayResult.exportToFile(getSelectedInstances(), selectedFile, timeDivider, timeSort,
                            advancedSettings[0]);
                } catch (IOException ex) {
                    Message.add("IO exception: " + ex.toString(), 2);
                }
            }
        }
    }
}