Java JTextField createBrowseButton(final JTextField txtInput, final Window parent, final boolean directoryBrowser)

Here you can find the source of createBrowseButton(final JTextField txtInput, final Window parent, final boolean directoryBrowser)

Description

create Browse Button

License

Apache License

Declaration

public static JButton createBrowseButton(final JTextField txtInput,
            final Window parent, final boolean directoryBrowser) 

Method Source Code

//package com.java2s;
/*//from  w ww  .ja v a 2 s  . c o  m
 * Copyright 2004-2010 Information & Software Engineering Group (188/1)
 *                     Institute of Software Technology and Interactive Systems
 *                     Vienna University of Technology, Austria
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.ifs.tuwien.ac.at/dm/somtoolbox/license.html
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;

import javax.swing.JFileChooser;

import javax.swing.JTextField;

public class Main {
    public static JButton createBrowseButton(final JTextField txtInput,
            final Window parent, final boolean directoryBrowser) {
        JButton btnChooser = new JButton();
        btnChooser.setText("...");
        btnChooser.setToolTipText("Browse for the "
                + (directoryBrowser ? "directory" : "file"));
        btnChooser.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JFileChooser fileChooser = new JFileChooser();
                fileChooser
                        .setFileSelectionMode(directoryBrowser ? JFileChooser.DIRECTORIES_ONLY
                                : JFileChooser.FILES_ONLY);
                if (txtInput.getText().trim().length() > 0) {
                    File current = new File(txtInput.getText());
                    if (directoryBrowser && !current.isDirectory()) {
                        current = current.getParentFile();
                    }
                    fileChooser.setCurrentDirectory(current);
                }

                int result;
                result = fileChooser.showOpenDialog(parent);
                if (result == JFileChooser.APPROVE_OPTION) {
                    final File selectedFile = fileChooser.getSelectedFile();
                    txtInput.setText(selectedFile.getAbsolutePath());
                }
            }
        });
        return btnChooser;
    }
}

Related

  1. badField(JTextField field)
  2. bindPropertyChangeListener(final JTextField field, final String name, final PropertyChangeListener listener)
  3. browseFileForField(JTextField textField, JFileChooser fileChooser, Component parent)
  4. checkJTextFieldNotEmpty(javax.swing.JTextField field, javax.swing.JLabel promptName, ArrayList errors)
  5. cleanTextFields(JTextField... textFields)
  6. createFieldWithLabel(String label, JTextField textField)
  7. createOutputPanel(JLabel outputFileNameLabel, JButton chooseOutputFileButton, JTextField outputFileTextField, String borderTitle)
  8. dateCompleteOnlyFormat(JTextField pJTextField, KeyEvent e)
  9. doAction(JTextField textField)