@olololosh

Где указать начальный путь диалога выбора файла?

Привет, есть код диалогового окна выбора файла, но когда его запускаешь, он запускает папку Documents. Как изменить начальный путь выбора файла на ту папку, которая мне надо?

public class FileChooser extends JFrame {
 
    public FileChooser() {
        super("Select File");
        JPanel panel = new JPanel();
        panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
         
        panel.add(Box.createVerticalGlue());
 
        final JLabel label = new JLabel("The selected file");
        label.setAlignmentX(CENTER_ALIGNMENT);
        panel.add(label);
 
        panel.add(Box.createRigidArea(new Dimension(10, 10)));
 
        JButton button = new JButton("Select the file");
        button.setAlignmentX(CENTER_ALIGNMENT);
 
        button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                JFileChooser fileopen = new JFileChooser();             
                int ret = fileopen.showDialog(null, "Open file");                
                if (ret == JFileChooser.APPROVE_OPTION) {
                    File file = fileopen.getSelectedFile();
                    label.setText(file.getName());
                }
            }
        });
 
        panel.add(button);
        panel.add(Box.createVerticalGlue());
        getContentPane().add(panel);
 
        setPreferredSize(new Dimension(260, 220));
        pack();
        setLocationRelativeTo(null);
        setVisible(true);
    }
 
    public static void fileCh() {
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                JFrame.setDefaultLookAndFeelDecorated(true);
                JDialog.setDefaultLookAndFeelDecorated(true);
                new FileChooser();
            }
        });
    }
}
  • Вопрос задан
  • 2031 просмотр
Решения вопроса 1
timych
@timych
Так начинаем читать Javadoc! :)
docs.oracle.com/javase/7/docs/api/javax/swing/JFil...
Смотрим конструкторы
и вуаля! Находим к примеру такие варианты:
JFileChooser()
Constructs a JFileChooser pointing to the user's default directory.

JFileChooser(File currentDirectory)
Constructs a JFileChooser using the given File as the path.

Дефолтный (JFileChooser()) конструктор открывает начиная с дефолтной папки (В вашем случае это HOME directory)
А вот второй, с возможностью указания стартовой директории, вам и нужен.
Либо можно позже вызвать метод setCurrentDirectory(File dir);

Все написано в описании.

PS: Данный вопрос к тегу "Swift" не относится :) и к "JavaFX" тоже не очень. Это Swing
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@olololosh Автор вопроса
это 1 параметр, который null?
int ret = fileopen.showDialog(null, "Open file");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы