Example usage for javax.swing JFileChooser setDialogType

List of usage examples for javax.swing JFileChooser setDialogType

Introduction

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

Prototype


@BeanProperty(preferred = true, enumerationValues = { "JFileChooser.OPEN_DIALOG", "JFileChooser.SAVE_DIALOG",
        "JFileChooser.CUSTOM_DIALOG" }, description = "The type (open, save, custom) of the JFileChooser.")
public void setDialogType(int dialogType) 

Source Link

Document

Sets the type of this dialog.

Usage

From source file:us.daveread.basicquery.BasicQuery.java

/**
 * Open or create a SQL statement file./*from w ww  . j  a va  2  s .c o m*/
 */
private void openSQLFile() {
    JFileChooser fileMenu;
    FileFilter defaultFileFilter = null;
    FileFilter preferredFileFilter = null;
    File chosenSQLFile;
    int returnVal;

    chosenSQLFile = null;

    // Save current information, including SQL Statements
    saveConfig();

    // Allow user to choose/create new file for SQL Statements
    fileMenu = new JFileChooser(new File(queryFilename));

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

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

    fileMenu.setSelectedFile(new File(queryFilename));
    fileMenu.setDialogTitle(Resources.getString("dlgSQLFileTitle"));
    fileMenu.setDialogType(JFileChooser.OPEN_DIALOG);
    fileMenu.setFileSelectionMode(JFileChooser.FILES_ONLY);
    fileMenu.setMultiSelectionEnabled(false);

    if (fileMenu.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
        chosenSQLFile = fileMenu.getSelectedFile();

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

        if (!chosenSQLFile.exists()) {
            returnVal = JOptionPane.showConfirmDialog(this,
                    Resources.getString("dlgNewSQLFileText", chosenSQLFile.getName()),
                    Resources.getString("dlgNewSQLFileTitle"), JOptionPane.YES_NO_CANCEL_OPTION,
                    JOptionPane.QUESTION_MESSAGE);
            if (returnVal == JOptionPane.NO_OPTION) {
                querySelection.removeAllItems();
                queryText.setText("");
                QueryHistory.getInstance().clearAllQueries();

                // Update GUI
                setPrevNextIndication();
            } else if (returnVal == JOptionPane.CANCEL_OPTION) {
                chosenSQLFile = null;
            }
        } else {
            setQueryFilename(chosenSQLFile.getAbsolutePath());
            querySelection.removeAllItems();
            queryText.setText("");
            loadCombo(querySelection, queryFilename);
            QueryHistory.getInstance().clearAllQueries();

            // Update GUI
            setPrevNextIndication();
        }
    }

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

    if (chosenSQLFile != null) {
        setQueryFilename(chosenSQLFile.getAbsolutePath());
        saveConfig();
    }
}