Selecting Folder Destination in Java?

前端 未结 5 1472
臣服心动
臣服心动 2020-12-05 00:04

I am a newbie to Java. I am trying to dynamically choose the file location to save the outcome of my project (to be initiated at the very start of my project). I worked arou

5条回答
  •  臣服心动
    2020-12-05 00:23

    You could try something like this (as shown here: Select a Directory with a JFileChooser):

    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.util.*;
    
    
    public class DemoJFileChooser extends JPanel
       implements ActionListener {
       JButton go;
    
       JFileChooser chooser;
       String choosertitle;
    
      public DemoJFileChooser() {
        go = new JButton("Do it");
        go.addActionListener(this);
        add(go);
       }
    
      public void actionPerformed(ActionEvent e) {            
        chooser = new JFileChooser(); 
        chooser.setCurrentDirectory(new java.io.File("."));
        chooser.setDialogTitle(choosertitle);
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        //
        // disable the "All files" option.
        //
        chooser.setAcceptAllFileFilterUsed(false);
        //    
        if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { 
          System.out.println("getCurrentDirectory(): " 
             +  chooser.getCurrentDirectory());
          System.out.println("getSelectedFile() : " 
             +  chooser.getSelectedFile());
          }
        else {
          System.out.println("No Selection ");
          }
         }
    
      public Dimension getPreferredSize(){
        return new Dimension(200, 200);
        }
    
      public static void main(String s[]) {
        JFrame frame = new JFrame("");
        DemoJFileChooser panel = new DemoJFileChooser();
        frame.addWindowListener(
          new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
              System.exit(0);
              }
            }
          );
        frame.getContentPane().add(panel,"Center");
        frame.setSize(panel.getPreferredSize());
        frame.setVisible(true);
        }
    }
    

提交回复
热议问题