JFileChooser getSelected File для использования в другой кнопке - PullRequest
0 голосов
/ 06 ноября 2018

Моя проблема ... Я хочу использовать JFileChooser, чтобы выбрать File, после чего я хочу нажать другую кнопку в моем графическом интерфейсе, чтобы загрузить выбранный файл ... но не знаю как.

Это кнопка, которую я хочу использовать, чтобы загрузить выбранный файл:

requestQACButton.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e)
    {
        File file = new File(String.valueOf(selectedFile));
        try {
            uploader.uploadFile(selectedFile);
        } catch (IOException e1) {
            e1.printStackTrace();
        }

        fileQueue.AddElement(selectedFile.getName());
    }

Это JFileChooser:

JFileChooser chooser = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int returnValue = chooser.showDialog(FileChooser.this, "Select");
if (returnValue == JFileChooser.APPROVE_OPTION) {
    File selectedFile = chooser.getSelectedFile();
    writeToLog("\nSelected file: " + selectedFile.toString());
    comboBox1.addItem(selectedFile);

1 Ответ

0 голосов
/ 07 ноября 2018

Похоже, вы пытаетесь заставить пользователя выбрать файл, а затем подождать, пока пользователь нажмет на конкретную кнопку (о которой вы упоминаете), чтобы щелкнуть по ней, затем вы захотите что-то сделать (возможно, загрузить) с файлом.

Если я прав, это может быть так:

Выберите файл <</strong> Подождите, пока пользователь нажмет кнопку загрузки <</strong> Загрузите файл.

Вы можете сделать что-то вроде этого:

  • Объявите переменную в вашем классе как:

    File selectedFile;

  • Затем отредактируйте код JFileChooser следующим образом:

    JFileChooser chooser = new JFileChooser (FileSystemView.getFileSystemView () getHomeDirectory ().);

    chooser.setFileSelectionMode (JFileChooser.FILES_AND_DIRECTORIES); int returnValue = chooser.showOpenDialog (null);

    if (returnValue == JFileChooser.APPROVE_OPTION) { selectedFile = chooser.getSelectedFile (); }

    • Теперь отредактируйте код JButton ActionListener следующим образом:

    addActionListener (новый ActionListener () { @Override public void actionPerformed (ActionEvent e) { пытаться { Файл file = selectedFile; uploader.uploadFile (файл); } catch (Exception e1) { e1.printStackTrace (); }

    //fileQueue.AddElement(selectedFile.getName());
    

    }

...