File Dialog Vs JFileChooser

I am programming an application which allows me to select different type of files from my hard disk, and sometimes I select only directories.
If I use JFileChooser I can use filters, select only directories and more options.
If I use FileDialog I see file icons and unit icons like they are in Explorer. There is a FilenameFilter interface but it don't run like FileFilter. And I can't make FileDialog resizable nor set in a new location.
I would like to use FileDialog (because is nicer) with filters and with more options.
Is it possible? Is there a way to see JFileChooser with an appearance like Explorer?

You're right, but I am talking about the JFileChooser in Windows Look and Feel. This JFileChooser "looks" like Windows but it's quite different. Maybe with a specific example I can explain it better.
In Explorer you have in the top: Desktop. Under Desktop there are my Documents, my PC, etc. and under My PC there are C:, D:, and other units. Every unit with its icon. This is a "new" distribution of the structure of the PC. Also there is a button to return to Desktop.
In JFileChooser there is a ComboBox to select the unit (A, C, D, ...) and all is little ugly. And you can't do contextual operations on files like in Explorer. And the Button to the top of Desktop now goes to C:WINDOWS (user File).
Using FileDialog you can see a dialog "with the Explorer inside".
And it seems there is a way to use filters but I don't know how to use them.

Similar Messages

  • Suggest file name in JFileChooser?

    I'm a newbie (student) to both Swing and Java in general. In using JFileChooser, It occurred to me that it would be nice to offer a suggested file name when saving files.
    For those of you who have used MS Word, when one saves a new file, Word offers the document title or a few words of the document's first line as a suggested file name. This suggestion is displayed in the file name textbox of the save file dialog.
    Is it possible to do this sort of thing in Java and with JFileChooser? If so, how?
    Thanks in advance for any feedback.

    JFileChooser  fc = new JFileChooser(".");
    fc.setSelectedFile(new File("AnyFileNameYouWant.txt"));

  • File Dialog Problem

    When I use a file dialog with a datalog type wired to it, it only list all
    files
    with the same datalog type, that's ok. But then i open one of them, when
    I try to read another file, the first one is no longer in the list.
    Do you know why, and how to solve it?
    Thank you

    using JFileChooser can we create a file under specified directory.if so through which method we can perform

  • Suggest a filename extension in a save file dialog

    Hello guys,
    does any of you know, how to suggest the user a certain filename extension in a save file dialog?
    I'm using both the normal save file dialog:
         javax.swing.JFileChooser.showSaveDialog,
    and the Java Web Start save file dialog:
         javax.jnlp.FileSaveService.saveFileDialog.
    For both ways I seem not to be able to suggest the user a certain extension for the filename.
    For the normal dialog, I call setFileFilter on the JFileChooser instance.
    The filter shows up in the dialog, and is used by default, but when the user types a name and approves, the returned filename does not have the extension added.
    Of course I can add the extension programmaticaly, but not when inside the JAWS sandbox.
    For the JAWS dialog, I pass an array containing my extension, but it is ignored as if I didn't specify any extensions. The API specs already say that this parameter "might be ignored by the JNLP Client".
    So how to tell the user what extension to use?
    More people must have encountered this problem.
    I'm making an application that saves and opens xml files and exports html files.
    I'm using this code to test the behavior:import java.io.ByteArrayInputStream;
    import java.io.File;
    import javax.jnlp.FileContents;
    import javax.jnlp.FileSaveService;
    import javax.jnlp.ServiceManager;
    import javax.jnlp.UnavailableServiceException;
    import javax.swing.JFileChooser;
    import javax.swing.filechooser.FileFilter;
    public class ChooseFile
        static final String[] EXTENSIONS = { "xml" };
        static final String DESCRIPTION = "XML files";
        public static void main(String[] args)
         try {
             ServiceManager.lookup("javax.jnlp.FileOpenService");
             // we're running with JAWS
             System.out.println("JAWS filechooser:");
             System.out.println(choose_JAWS());
         catch (UnavailableServiceException x)
             // we're NOT running with JAWS
             System.out.println("normal filechooser:");
             System.out.println(choose_normal());
        static String choose_normal()
         JFileChooser fc = new JFileChooser();
         fc.setFileFilter(new CustomFileFilter(EXTENSIONS, DESCRIPTION));
         if (JFileChooser.APPROVE_OPTION == fc.showSaveDialog(null))
             return "selected " + fc.getSelectedFile().getName();
         else
             return "cancelled";
        static String choose_JAWS()
         try {
             FileSaveService fos = (FileSaveService)ServiceManager.lookup(
                         "javax.jnlp.FileSaveService");
             ByteArrayInputStream stream = new ByteArrayInputStream(new byte[] {});
             FileContents fc = fos.saveFileDialog(null, EXTENSIONS, stream, null);
             if (fc != null)
              return "selected " + fc.getName();
             else
              return "cancelled";
         } catch (Exception x)
             x.printStackTrace();
            return "";
    class CustomFileFilter extends FileFilter
        String[] extensions;
        String description;
        public CustomFileFilter(String[] extensions, String description)
         this.extensions = extensions;
         this.description = description;
        public boolean accept(File f)
         if (f.isDirectory())
             return true;
         String extension = getExtension(f);
            if (extension == null)
                return false;
         for (int i=extensions.length; i-->0; )
             if (extension.equals(extensions))
              return true;
         return false;
    public String getDescription()
         return description;
    private String getExtension(File f)
    String ext = null;
    String s = f.getName();
    int i = s.lastIndexOf('.');
    if (i > 0 && i < s.length() - 1)
    ext = s.substring(i+1).toLowerCase();
    return ext;
    }Any help is greatly appreciated!
    Tom Jansen

    @tjacobs01
    Hi Tom,
    I have a question regarding your classes
    tjacobs.ui.fc.FileExtensionFilter and
    tjacobs.ui.fc.FileChooser.
    When I look at your code, I see the filename extension is appended in showSaveDialog:     public int showSaveDialog(Component c) {
                        setSelectedFile(new File(f.getAbsolutePath() + "." + ((FileExtensionFilter)filter).getType()));
        }It gets the extension by calling getType on the filter. But getType is implemented as:    public String getType () {
            return mExtensionList.get(0).toString();
        }So this returns the first type in the list. It does not check what filetype is selected by the combobox.
    Am I missing something?
    Also, in getDescription:    public String getDescription() {
            if (mDesc == null) {
                mDesc = "";
                for (int i = 0; i < mExtensionList.size(); i++) {
                    mDesc += (i != 0 ? ", " : "") + "." + mExtensionList.get(0).toString();
                mDesc+= " files";
            return mDesc;
        }you seem to iterate through the list, but only take the first entry every iteration.
    Can you explain mExtensionList.get(0)?
    Do you know how to test what type is selected in the JFileChooser's combobox?

  • Submiting forms returns a "Save As File" dialog box

    I've got a form that users return via email, one user always gets a Save As File dialog box and since this doesn't match the instructions.  User doesn't return the form as others do.  Any help greatly appreiciated.

    JFileChooser does support a "save-as" dialog. Follow the link from the API documentation to the tutorial:
    http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html

  • Opening a File Dialog Box

    Hi,
    could somebody help me with how to open a file dialog box.
    I have 1 class which has a window with the relevant widgets on it, I want to be able to click a button on the form and pop up a file chooser form then select a file or type in a new filename and then use the selected filename path in the original form to write data out to the chosen file.
    i understand that i need to use JFileChooser and it will need to be in a new class (like a dialog box would be).
    So basically what i have is 2 classes (the main app and a class called FileOpen.class) so how would i display the fileopen class with the JFileChooser component in it and return what ever is chosen into a string.
    e.g.
    String fileName = <what would go here?>
    kind regards

    thats the example filechooser i have working
    yet when i try and implement it in my program i just get countless exception errors, im not sure if its because my program extends Jframe and not JPanel
    here is my code:-
    package as4;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.util.*;
    import javax.swing.filechooser.*;
    import java.io.*;
    * <p>Title: </p>
    * <p>Description: </p>
    * <p>Copyright: Copyright (c) 2003</p>
    * <p>Company: </p>
    * @author unascribed
    * @version 1.0
    * <p>Title: </p>
    * <p>Description: </p>
    * <p>Copyright: Copyright (c) 2003</p>
    * <p>Company: </p>
    * @author unascribed
    * @version 1.0
    public class Readap extends JFrame {
    JPanel contentPane;
    GridLayout gridLayout1 = new GridLayout();
    JPanel jPanel3 = new JPanel();
    GridLayout gridLayout3 = new GridLayout();
    JPanel jPanel1 = new JPanel();
    JTextArea txtaStatus = new JTextArea();
    JLabel jLabel1 = new JLabel();
    JTextField txtCon = new JTextField();
    JButton btnConnect = new JButton();
    JTextField txtPort = new JTextField();
    JTextField txtUser = new JTextField();
    GridLayout gridLayout2 = new GridLayout();
    JLabel jLabel6 = new JLabel();
    JPasswordField ptxtPass = new JPasswordField();
    JLabel jLabel5 = new JLabel();
    JLabel jLabel4 = new JLabel();
    JLabel jLabel3 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JTextField txtHost = new JTextField();
    JPanel jPanel2 = new JPanel();
    JPanel jPanel4 = new JPanel();
    GridLayout gridLayout4 = new GridLayout();
    GridLayout gridLayout5 = new GridLayout();
    JCheckBox chbOracle = new JCheckBox();
    JCheckBox chbOdbc = new JCheckBox();
    JScrollPane jScrollPane1 = new JScrollPane();
    JRadioButton rbtnComma = new JRadioButton();
    JRadioButton rbtnTab = new JRadioButton();
    JRadioButton rbtnSpace = new JRadioButton();
    ButtonGroup delChoice = new ButtonGroup();
    JPanel delPanel = new JPanel();
    JFileChooser fc;
    int dbChoice = 1;
    int conStatus = 0 ;
    String delimiter=",";
    String output="";
    JButton btnClear = new JButton();
    Dbfuncs mydb=new Dbfuncs();
    JPanel jPanel7 = new JPanel();
    JPanel jPanel6 = new JPanel();
    JPanel jPanel5 = new JPanel();
    FlowLayout flowLayout1 = new FlowLayout();
    JButton btnExecute = new JButton();
    JTextField txtQuery = new JTextField();
    JLabel jLabel7 = new JLabel();
    JButton btnOutput = new JButton();
    JLabel jLabel8 = new JLabel();
    GridLayout gridLayout7 = new GridLayout();
    BorderLayout borderLayout1 = new BorderLayout();
    JButton btnExit = new JButton();
    TitledBorder titledBorder1;
    TitledBorder titledBorder2;
    JCheckBox chbQuotes = new JCheckBox();
    JPanel jPanel8 = new JPanel();
    JCheckBox chbHeading = new JCheckBox();
    JPanel jPanel9 = new JPanel();
    ButtonGroup fileChoice = new ButtonGroup();
    JRadioButton rbtnOverwrite = new JRadioButton();
    JRadioButton rbtnAppend = new JRadioButton();
    //Construct the frame
    public Readap() {
    fc = new JFileChooser();
    fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
    jbInit();
    catch(Exception e) {
    e.printStackTrace();
    //Component initialization
    private void jbInit() throws Exception {
    //setIconImage(Toolkit.getDefaultToolkit().createImage(Readap.class.getResource("[Your Icon]")));
    contentPane = (JPanel) this.getContentPane();
    titledBorder1 = new TitledBorder("");
    titledBorder2 = new TitledBorder("");
    contentPane.setLayout(gridLayout1);
    this.setSize(new Dimension(448, 434));
    this.setTitle("Read Database");
    gridLayout1.setColumns(1);
    gridLayout1.setHgap(2);
    gridLayout1.setRows(2);
    gridLayout1.setVgap(2);
    jPanel3.setLayout(gridLayout3);
    gridLayout3.setColumns(2);
    gridLayout3.setHgap(5);
    gridLayout3.setVgap(5);
    txtaStatus.setFont(new java.awt.Font("Dialog", 0, 10));
    txtaStatus.setBorder(BorderFactory.createLoweredBevelBorder());
    txtaStatus.setEditable(false);
    txtaStatus.setText(">>Program Loaded...");
    txtaStatus.setLineWrap(true);
    txtaStatus.setRows(5);
    txtaStatus.setWrapStyleWord(true);
    jLabel1.setFont(new java.awt.Font("Dialog", 1, 12));
    jLabel1.setToolTipText("");
    jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
    jLabel1.setText("Please choose a database...");
    txtCon.setText("Access");
    btnConnect.setText("Connect");
    btnConnect.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    btnConnect_actionPerformed(e);
    txtPort.setEnabled(false);
    txtPort.setToolTipText("");
    txtPort.setText("1521");
    gridLayout2.setColumns(2);
    gridLayout2.setHgap(5);
    gridLayout2.setRows(6);
    gridLayout2.setVgap(2);
    jLabel6.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabel6.setText("Password");
    jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabel5.setText("Username");
    jLabel4.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabel4.setText("ODBC Bridge");
    jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabel3.setText("Port");
    jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
    jLabel2.setText("Host");
    txtHost.setEnabled(false);
    txtHost.setText("alfgar.coventry.ac.uk");
    jPanel2.setLayout(gridLayout2);
    contentPane.setMinimumSize(new Dimension(100, 110));
    jPanel4.setLayout(gridLayout4);
    gridLayout4.setColumns(1);
    gridLayout4.setHgap(2);
    gridLayout4.setRows(3);
    gridLayout4.setVgap(2);
    jPanel1.setLayout(gridLayout5);
    gridLayout5.setColumns(1);
    gridLayout5.setHgap(5);
    gridLayout5.setRows(2);
    gridLayout5.setVgap(5);
    rbtnComma.setText("Comma");
    rbtnComma.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    rbtnComma_actionPerformed(e);
    rbtnTab.setText("Tab");
    rbtnTab.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    rbtnTab_actionPerformed(e);
    rbtnSpace.setText("Space");
    rbtnSpace.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    rbtnSpace_actionPerformed(e);
    rbtnComma.setSelected(true);
    jLabel8.setFont(new java.awt.Font("Dialog", 1, 12));
    jLabel8.setHorizontalAlignment(SwingConstants.CENTER);
    jLabel8.setText("Choose Delimiter Type");
    jPanel7.setLayout(gridLayout7);
    gridLayout7.setColumns(1);
    gridLayout7.setRows(6);
    jPanel6.setMinimumSize(new Dimension(434, 45));
    jPanel6.setPreferredSize(new Dimension(434, 45));
    btnExit.setText("Exit");
    btnExit.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    btnExit_actionPerformed(e);
    jPanel5.setBorder(titledBorder2);
    jPanel5.setMinimumSize(new Dimension(434, 187));
    jPanel3.setBorder(titledBorder1);
    btnExecute.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    btnExecute_actionPerformed(e);
    chbQuotes.setText("Wrap Data In Quotes");
    chbHeading.setText("Export Column Headings");
    rbtnOverwrite.setSelected(true);
    rbtnOverwrite.setText("Overwrite File");
    rbtnAppend.setText("Append File");
    jPanel7.setBorder(BorderFactory.createLineBorder(Color.black));
    btnOutput.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    btnOutput_actionPerformed(e);
    delChoice.add(rbtnComma);
    delChoice.add(rbtnTab);
    delChoice.add(rbtnSpace);
    delPanel.add(rbtnComma);
    delPanel.add(rbtnTab);
    delPanel.add(rbtnSpace);
    chbOracle.setAlignmentX((float) 10.0);
    chbOracle.setHorizontalAlignment(SwingConstants.CENTER);
    chbOracle.setText("Oracle");
    chbOracle.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    chbOracle_actionPerformed(e);
    chbOdbc.setAlignmentX((float) 10.0);
    chbOdbc.setHorizontalAlignment(SwingConstants.CENTER);
    chbOdbc.setSelected(true);
    chbOdbc.setText("MS ODBC");
    chbOdbc.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    chbOdbc_actionPerformed(e);
    btnClear.setText("Clear Status");
    btnClear.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(ActionEvent e) {
    btnClear_actionPerformed(e);
    jPanel6.setLayout(flowLayout1);
    jPanel5.setLayout(borderLayout1);
    btnExecute.setText("Execute");
    txtQuery.setMinimumSize(new Dimension(280, 21));
    txtQuery.setPreferredSize(new Dimension(285, 21));
    jLabel7.setFont(new java.awt.Font("Dialog", 1, 12));
    jLabel7.setText("Enter Query");
    btnOutput.setText("Output To File");
    jPanel3.add(jPanel1, null);
    jPanel1.add(jPanel4, null);
    jPanel4.add(jLabel1, null);
    jPanel4.add(chbOdbc, null);
    jPanel4.add(chbOracle, null);
    jPanel1.add(jScrollPane1, null);
    jScrollPane1.getViewport().add(txtaStatus, null);
    jPanel3.add(jPanel2, null);
    jPanel2.add(jLabel2, null);
    jPanel2.add(txtHost, null);
    jPanel2.add(jLabel3, null);
    jPanel2.add(txtPort, null);
    jPanel2.add(jLabel4, null);
    jPanel2.add(txtCon, null);
    jPanel2.add(jLabel5, null);
    jPanel2.add(txtUser, null);
    jPanel2.add(jLabel6, null);
    jPanel2.add(ptxtPass, null);
    jPanel2.add(btnClear, null);
    jPanel2.add(btnConnect, null);
    jPanel6.add(jLabel7, null);
    jPanel6.add(txtQuery, null);
    jPanel6.add(btnExecute, null);
    jPanel7.add(jLabel8, null);
    jPanel7.add(delPanel, null);
    jPanel7.add(jPanel8, null);
    jPanel8.add(chbQuotes, null);
    jPanel8.add(chbHeading, null);
    jPanel7.add(jPanel9, null);
    jPanel9.add(rbtnOverwrite, null);
    jPanel9.add(rbtnAppend, null);
    jPanel7.add(btnOutput, null);
    jPanel7.add(btnExit, null);
    jPanel5.add(jPanel6, BorderLayout.NORTH);
    jPanel5.add(jPanel7, BorderLayout.SOUTH);
    contentPane.add(jPanel3, null);
    contentPane.add(jPanel5, null);
    fileChoice.add(rbtnOverwrite);
    fileChoice.add(rbtnAppend);
    //Overridden so we can exit when window is closed
    protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
    System.exit(0);
    public static void main (String arguments[])
    JFrame frame = new Readap();
    WindowListener l = new WindowAdapter()
         public void windowClosing(WindowEvent e)
              System.exit(0);
    frame.addWindowListener(l);
    frame.pack();
    frame.setVisible(true);
    void chbOracle_actionPerformed(ActionEvent e) {
    dbChoice=0;
    chbOdbc.setSelected(false);
    jLabel4.setText("Conn String");
    txtCon.setText("acal");
    txtCon.setEnabled(true);
    txtPort.setEnabled(true);
    txtHost.setEnabled(true);
    txtaStatus.append("\n>>Oracle Database Selected");
    void chbOdbc_actionPerformed(ActionEvent e) {
    dbChoice=1;
    chbOracle.setSelected(false);
    jLabel4.setText("ODBC Bridge");
    txtCon.setText("Access");
    txtPort.setEnabled(false);
    txtHost.setEnabled(false);
    txtaStatus.append("\n>>MS ODBC Database Selected");
    void btnConnect_actionPerformed(ActionEvent e) {
    if (conStatus==0)
    String url = new String();
    String driver = new String();
    if (dbChoice==0)
    driver="oracle.jdbc.driver.OracleDriver";
    url = "jdbc:oracle:thin:@"+txtHost.getText()+":"+txtPort.getText()+":"+txtCon.getText();
    txtaStatus.append("\n>>Connecting to Oracle Database @ "+url+" via driver:"+driver);
    else
    driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    url = "jdbc:odbc:"+txtCon.getText();
    txtaStatus.append("\n>>Connecting to MS ODBC Database @ "+url+" via driver:"+driver);
    String dbStatus=mydb.openDb(url, driver, txtUser.getText(), ptxtPass.getText());
    txtaStatus.append("\n>>"+dbStatus);
    if (dbStatus=="Connection Successful")
    btnConnect.setText("Disconnect");
    conStatus=1;
    else
    mydb.dbClose();
    txtaStatus.append("\n>>Database Connection Terminated");
    btnConnect.setText("Connect");
    conStatus=0;
    void btnClear_actionPerformed(ActionEvent e) {
    txtaStatus.setText(" ");
    void rbtnComma_actionPerformed(ActionEvent e) {
    delimiter=",";
    void rbtnSpace_actionPerformed(ActionEvent e) {
    delimiter=" ";
    void btnExecute_actionPerformed(ActionEvent e) {
    txtaStatus.append(mydb.runQuery(txtQuery.getText() ) );
    void btnOutput_actionPerformed(ActionEvent e) {
    if (chbHeading.isSelected()==true)
    output=mydb.getAllColName(mydb.getColumnName())+"\n";
    else
    output="";
    Vector mydata=mydb.getResultData();
         int cnt=0;
         for (int index = 0; index < mydata.size(); index++)
              cnt+=1;
              if (cnt>1) output=output+delimiter;
    if (chbQuotes.isSelected()==true)
              output=output+"\""+mydata.elementAt(index)+"\"";
    else
    output=output+mydata.elementAt(index);
              if (cnt>=mydb.getNumCols())
                   output=output+"\n"; cnt=0;
    txtaStatus.append("\n>>"+output);
    int returnVal = fc.showOpenDialog(Readap.this);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
    File file = fc.getSelectedFile();}
    void rbtnTab_actionPerformed(ActionEvent e) {
    delimiter="\t";
    void btnExit_actionPerformed(ActionEvent e) {
    System.exit(0);
    }

  • I am trying to open CR2 files from a Cannon EOS 1DX camera in Photoshop CS6 and I have already updated the Camera Raw Plug in but Photoshop is still giving me the cannot open files dialog box? Help?

    I am trying to open CR2 files from a Cannon EOS 1DX camera in Photoshop CS6 and I have already updated the Camera Raw Plug in but Photoshop is still giving me the cannot open files dialog box? Help?

    Canon 1DX support was added to ACR in version 6.7, 7.1.  An updated CS6 should be at level ACR 8.6.  If your ACR is not at level 8.6 try using CS6 menu Help>Updates.  If that does not install ACR 8.6 try downloading the ACR and DNG 8.6 converter and see if ACR 8.6 will install into your CS6.
    Adobe - Adobe Camera Raw and DNG Converter : For Windows
    Adobe - Adobe Camera Raw and DNG Converter : For Macintosh

  • File dialog with multiple custom patterns

    I am in need of being able to user select multple file patterns (*.bin, *.exe...) in a file dialosg similar to the express File Dialog VI where it lists the directory and allows the user to select multiple files from a windows dir listing.  The express VI has a patterns input that takes  multiple patterns separated by a semimcolon but there appears to not be a way of providing a ring control for file type and letting the user select the pattern that he wants to filter the directory listing with.  I.E> > If the user wants to only load files that are *.bin, he only wants to view them in the listing.  How can I do this without mutliple dialog boxes?
    Solved!
    Go to Solution.

    Off-the-shelf might be something like a list box that allows multiple selections.  Or you could drop a cluster of booleans on the FP and parse the selected file types and place ;'s between them.  You could have multiple string controls that the user inputs the file extension and then you programmatically insert a ; I can't think of something off-the-shelf that easily does what you are looking for, these suggestions require a little bit of programming but should get you off to a good start at least.
    This is the approach for choosing any desired types from a list.  If you want to choose only one, use a ring or combo box or enum...  Much simpler when only choosing one of many.
    Nathan - Certified LabVIEW Developer

  • Open File dialog in 1.1.0.21

    This is an old issue which I thought was supposed to be resolved in 1.1, but whenever you go to the open file dialog, it still always starts in the installation directory. It does not remember the last directory used and I cannot find anything in the global preferences that enables you to specify a preferred default location. There is a feature request that is marked as complete in 1.1 which kind-of covers this issue but relating to saving files, but the behaviour of both the save file and open file dialog is the same as it was.
    Using build MAIN-21.41 on windows xp.

    I too was disappointed that this promised enhancement was left out of version 1.1. However, I found a workaround that helps minimize the problem.
    If you have a Windows Explorer window open to the folder where your SQL file resides, you can drag-and-drop the file into SQL Developer to open it. The trick is that you must drag your cursor to the tab bar area of the SQL Developer window to get the file to open in a new tab. Dragging it to the editor section of the SQL Developer window will not open the file.
    Paul

  • Open File dialog window when setting the value of a path type input argument in a VI call

    Hi,
    I am new to TestStand (running 4.0) and I want to create a sequence of VIs to turn on, setup and measure a device. One of my VIs sends a configuration file to my device. An input argument to this VI is the path of the config file. I would like to make it simple to modify this path when setting up the sequence by popping up the File Open dialog window and choose my file. Is this possible? I do not want to manually change the file during execution, just to have multiple calls of one VI, each call opening a different file according to the path given to it during the setup. 
    So far I have only succeeded in manually entering the absolute path each time I add this step. What makes it even more annoying is the fact that LabVIEW interprets the path with the escape codes, rendering the path unusable. Manually adding a 2nd backslash at each '\' occurence adds another step to the process. I tried both String and Path type of inputs, and the SearchandReplace() or ToUpper() (trying to bypass the escape codes) functions in TestStand don't seem to help m.
    Your help is very much appreciated,
    Fred

    Eudaemonic,
    If you want to create a series of easy to configure step types so others can develop sequence files easily, you could use custom step types. When you create a custom step type you implement your own configuration dialog. Since you have control over what controls you expose in your configuration dialog, you can design it so the desired path is selected using a open file dialog. Refer to chapter 13 of the TestStand reference manual for more information about custom step types.
    If you do not want to create a custom step type but you still want to give access to your sequence developers to pre-configured steps, you can use templates. A step template is a snapshot of a step that you can reuse later. Let's assume that instead of asking your users to edit the step to enter the desired path, you create several step templates with different pre-configured paths and based on their applications requirements they could use the appropriate template. Refer to the NI TestStand Help for more information about the Templates list on the Insertion Palette.  
    Hope it helps.
    Antonio Lie. 

  • Please fix: Common Open File Dialog Box to support Favorites (Follow-up: Better provisioning in the Windows client)

    One more thing:
    What's missing is favorites is a way to use the favorites space in the Common Open File Dialog Box.
    Please obsolete or (re)develop components in Windows, so those components support any new workflows in Windows!
    On example of an application where you cannot use Favorites is Adobe Photoshop. It uses the Common Open File Dialog Box in Windows (which does not support Favorites).
    Comparing Finder (MacOS) with Windows Explorer - you "seem" to have the option of using favorites to pin folders.
    Well, if your application calls Windows to use the Common Open File Dialog Box - it's actually NOT POSSIBLE AT ALL to navigate to the user concepts (user folders) pinned to favorites.
    Again, the favorites namespace is completely unused (not provisioned) out-of-the-box. That's may be ok, however it's not fully implemented across Windows and just another example of stuff accumulating up to being unusable.
    What's missing is favorites is a way to use the favorites space in the Common Open File Dialog Box.
    Ref.: Better provisioning in the Windows client
    https://social.technet.microsoft.com/Forums/en-US/dbb2102f-00b7-47ca-88f2-4f88cd9d3409/followup-starting-launching-and-switching-?forum=WinPreview2014Feedback#2aba34e9-6074-4750-8f66-425bdeacc705
    https://social.technet.microsoft.com/Forums/en-US/168bb9f9-ab18-42e6-9f20-5e36e71f742c/merging-the-task-bar-and-the-start-screen-area?forum=WinPreview2014Feedback#168bb9f9-ab18-42e6-9f20-5e36e71f742c
    https://social.technet.microsoft.com/Forums/en-US/59a5bb6a-0368-4f34-bea4-b9811ac0bf8c/dont-forget-development-of-the-start-screen-remember-virtualization-of-it-too-purpose-is-hud?forum=WinPreview2014Feedback#59a5bb6a-0368-4f34-bea4-b9811ac0bf8c
    https://social.technet.microsoft.com/Forums/en-US/c10168fe-a534-44aa-a0ec-e9defc71da5f/better-provisioning-in-windows-client-remember-templates-for-the-start-screen-like-the-need-for?forum=WinPreview2014Feedback#c10168fe-a534-44aa-a0ec-e9defc71da5f

    Congrats to Carmelo!
     Windows Phone and Windows Store Apps Technical Guru - February 2015  
    Carmelo La Monica
    Windows Phone 8: control Nokia Maps (Part 3)
    JH: "Part 3 of the series how to work with the Nokia maps control. As the previous articles this one contains a lot of code snippets and some pictures. Good work!"
    Ed Price: "A great topic, a fantastic breakdown of sections with clear descriptions, and a nice mix of code formatting and helpful images! Another stellar article from Carmelo! Great job including the link back at the end to the portal
    article!"
    Ed Price, Azure & Power BI Customer Program Manager (Blog,
    Small Basic,
    Wiki Ninjas,
    Wiki)
    Answer an interesting question?
    Create a wiki article about it!

  • Open File Dialog - JSP pages

    If I create a jsp page with an open file dialog will it work no matter what OS people are running? What I want to do is attach a file. It would be preferrable if I could set a "working" directory and when I open up the dialog it starts in that directory. It has to work with Windows, Macs, and Linux . If there is no way to set the "working" directory, can a cookie be created that remembers the last directory accessed from the page so that when they open up the dialog it opens up under the last directory accessed?

    there is a html input type that sparks up the OS native filechooser. Thus, it should be platform independent. You should look into Apache Commons FileUpload, as it makes the process of uploading/sending files ridiculously easy.

  • File Dialog and Report Generation Toolkit

    Hi,
    I designed a VI for an electrometer calibration and it works quite well The only problem I have is the following:
    I used the Report Generation Toolkit to put the measurement data in an Excel file. When I run the VI I'd like a window to pop up to define the location and name of the Excel report file. If these two things are done LabVIEW should create the specified Excel file and run the rest of the code.
    So i tried this with the "File Dialog" Vi and all the needed low-level File I/O VIs and it worked.
    But when i connect the "File Dialog" VI with the "New Report" VI of the Report Generation Toolkit I get an error message.
    Is there any solution to get this file dialog pop up window with the Report Generation VIs?
    thx for any help...!
    Message Edited by Flea on 12-15-2005 03:58 AM

    Wow, thanks for your fast and very helpful reply devchander!
    I already tried this and it works fine
    thx!

  • What does the open file dialog do 'under the hood' and is there a way to simulate it

    What does the open file dialog do 'under the hood' and is there a way to simulate it?
    I have a bug in my code (that I've posted about before, here) which I can't fix at the moment, but I do have a workaround.
    Briefly, the bug:
    I call a dll from a function node, to initialise and run a spectrometer. If I start up the PC, LabVIEW and run my vi the code runs without complaint, the first call to the dll to initialise the spectrometer doesn;t return an error but the spectrometer is not detected either.
    I've tried various solutions, see the link above, and none work
    The workaround:
    If, at any time before running the code containing the function node I open an 'open file' dialog window, select the dll and click ok/hit enter then everything is fine. When I run the main code the spectrometer is detected.
    I use an express vi to open the file dialog, I specify the start path and file name as constant inputs and just click ok/hit return when the dialog pops up. I don't do anything with the dialog outputs. In fact the vi that contains the open file dialog can be run before the project containing the bug is even open.
    I have to do this everytime I turn the PC on.
    So, either
    1) Can somewone suggest a fix for the original bug?
    2) What is the easiest way to simulate the enter keypress when the open file dialog pops up
    or
    3) Can someone tell me what the open file dialog does under the hood that somehow causes the dll to work and can it be simulated in straight LabVIEW
    I suspect that the dll itself is dodgy ( I have in the past talked to the supplier but not got very far, and I will try again but I would like a quick, temporary solution too). I'm guessing that the file dialog is making some kind of check on the file, and possibly registering its presence with the OS (winXP). I tried using the file/folder exists vi to see if checking the file like that worked but no luck.
    Any help greatly appreciated.
    Dave

    Hi David
    I am very conscious about thread hijacking but this sounded like my issue so I hope you dont mind me asking about your issue. I am hoping that you have a spectrometer from the same vendor as me and its not just me seeing an Error 1097 issue. My spectrometer is from a company called Stellarnet.
    So far I have unable to get it to work with other VIs. There is one condition where I can get it to work but its no good for me.
    Case 1
    I open the VI in a fresh labview environment with no other VIs in memory. The code runs with no issue.
    Case 2
    Labview is not opened. I double click the spectrometer VI in windows explorer.  The VI opens but it fails to run resulting in Error 1097. Personally, I dont see the difference between this and Case 1 above and yet it fails.
    Case 3
    If I already have other VI's in memory and try to load the spectrometer VI and run it fails with Error 1097. This case is the one that most important to me. I have a test executive that will load test VIs dynamically and I can't get this to work. Same problem Error 1097.
    I wanted to share what I have seen with you and to let you know that maybe somebody else has the same issue. I am convinced its the DLL but the vendor dis-agreed saying it was LabVIEW. I couldn't convince him otherwise.
    Thanks in advance
    David

  • Error 7: File not found occurs in 8.2 from transition of 4.1. Specifying the file in file dialog returns error although file is in the directory.

    Copied a program from 4.1 to 8.2 recently and receive an error 7: File not found at open file+.vi.  The program is built so a file dialog will pop up and ask for the destination of the file.  Eventhough there is a file in the specified directory, an error is returned.  Running open file+.vi by itself returns no error with the same file designation.  Any clues?

    noviceak,
    Welcome to the NI Discussion Forums.
    I created a quick VI in LabVIEW 4.1 that displays a file dialog and then passes that file path to "Read Characters from File.vi" (which in turn calls Open File+.vi).  I then opened this file in LabVIEW 8.2 and ran it successfully (see code screenshot below).
    When you say there is a file in the specified directory are you using the file dialog to browse to the directory or to select the specific file?  Open File+.vi expects the path to a file rather than a directory - that is C:\folder\file.txt rather than C:\folder.  You might also want to create an indicator or probe to see what path is being passed to Open File+ to ensure it is what you expect.
    I feel like I should also say that in the days (years) inbetween LabVIEW 4.1 and 8.2 the file operation VIs have changed significantly.  While the old Open File+.vi still lives in vi.lib for compatibility purposes we no longer recommend using it for new applications.
    I hope this helps and again, welcome to the community.
    Regards,
    Simon H
    Applications Engineer
    National Instruments
    http://www.ni.com/support/
    Message Edited by Simon H on 01-18-2007 08:01 PM
    Message Edited by Simon H on 01-18-2007 08:03 PM
    Attachments:
    LV4 File Dialog.png ‏3 KB

Maybe you are looking for

  • Xerces-c-3.0.0 runtime errors in 5.10 Generic_137111-06 sun4v sparc SUNW,

    Hi all, I am facing the problem of run time alignment problem . Below is the error program terminated by signal SEGV (no mapping at the fault address) 0x000000010000cd94: __do_misaligned_ldst_instr+0x01a4: ldx [%o2], %i3 where -l Current function is

  • Reconcilation a/c for GL account

    Hi, I have a situation where i want to group around 500GL a/c (telephone expenses) and place in P&L a/c at debit side in FSV. It is same as we put Accounts Receivables in Balancesheet insted of all the customer accounts. Can we have a Reconcilation a

  • Enable PDF question

    What is the difference between "Enable usage rights in Adobe Reader" and "Enable for commenting in Adobe Reader"? I want to be able to have commenting on the PDF for those that only have reader. I have been enabling usage rights and it has been worki

  • Three Dates in Same Row

    Hi Experts, I need to developed a Query where three dates are coming in same row. User input: period from to date. in the above given period, user want to know which Purchase Order was made, date for PO, date for Goods Receipt with GRN No and date fo

  • Mac pro early 2008 migration to mac pro mid 2010

    I have a mac pro early 08 and am trying to migrate all of this to my newish mac pro mid 10 and am finding it difficult to do, i have basic progs on mac pro 10 and maverick installed and thats it, but am unable to find how to get all my 'stuff' from o