|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2000 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.javacvs.util; import java.io.*; import java.util.*; import java.beans.*; import java.text.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.text.*; import org.openide.util.*; /** Select directory dialog. * * @author Michal Fadljevic */ //------------------------------------------- public class ChooseDirDialog extends JDialog { private Debug E=new Debug("ChooseDirDialog", false); // NOI18N private Debug D=E; private JFileChooser chooser=null ; private File initialDir=null; private File selectedDir=null; static final long serialVersionUID = 1531990168696243845L; //------------------------------------------- // static final long serialVersionUID =3391153941140021894L; public ChooseDirDialog(Frame owner, File initialDir){ super( owner, "", true ); // NOI18N setTitle( g("CTL_Select_directory") ); // NOI18N this.initialDir=initialDir; initComponents(); pack(); } //------------------------------------------- private void initComponents(){ chooser = new JFileChooser (); chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); chooser.setFileHidingEnabled(false); if( initialDir != null ){ chooser.setCurrentDirectory(initialDir); } chooser.setSelectedFile (initialDir); chooser.setApproveButtonText( g("CTL_Select") ); // NOI18N chooser.setApproveButtonToolTipText( g("CTL_SelectToolTip") ); // NOI18N // attach cancel also to Escape key getRootPane().registerKeyboardAction (new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { selectedDir=null; close(); } }, javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_ESCAPE, 0, true), javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW ); addKeyListener (new java.awt.event.KeyAdapter () { public void keyPressed (java.awt.event.KeyEvent evt) { if (evt.getKeyCode () == java.awt.event.KeyEvent.VK_ESCAPE) { selectedDir=null; close(); } } }); getContentPane ().setLayout (new java.awt.BorderLayout ()); getContentPane ().add (chooser, java.awt.BorderLayout.CENTER); chooser.addActionListener (new ActionListener () { public void actionPerformed (ActionEvent evt) { if (JFileChooser.APPROVE_SELECTION.equals (evt.getActionCommand ())) { File f = chooser.getSelectedFile (); selectedDir=f; close(); } else if (JFileChooser.CANCEL_SELECTION.equals (evt.getActionCommand ())) { selectedDir=null; close(); } } }); } //------------------------------------------- private void close(){ setVisible (false); dispose (); } //------------------------------------------- /** Returns selected dir or null if no dir was selected. */ public String getSelectedDir(){ String path=null; if( selectedDir==null ){ return null; } try{ path=selectedDir.getCanonicalPath(); }catch (IOException e){ E.err(e,"getSelectedDir()"); // NOI18N path=null; } return path; } //------------------------------------------- String g(String s) { return NbBundle.getBundle ("org.netbeans.modules.javacvs.util.Bundle").getString (s); //NOI18N } String g(String s, Object obj) { return MessageFormat.format (g(s), new Object[] { obj }); } String g(String s, Object obj1, Object obj2) { return MessageFormat.format (g(s), new Object[] { obj1, obj2 }); } String g(String s, Object obj1, Object obj2, Object obj3) { return MessageFormat.format (g(s), new Object[] { obj1, obj2, obj3 }); } //------------------------------------------- } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.