Как открыть текстовый файл с помощью openFileChooser - PullRequest
1 голос
/ 09 января 2020

Я пытаюсь открыть файл с помощью кнопки меню, но не могу найти подходящий способ сделать это с помощью прослушивателя действий. какие дополнения мне нужно сделать, чтобы сделать этот код?

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    int returnValue = openFileChooser.showOpenDialog(this);
    if (returnValue == JFileChooser.APPROVE_OPTION){
        JOptionPane.showMessageDialog(null, "This a vaild file", 
                                            "Display Message", 
                                            JOptionPane.INFORMATION_MESSAGE);
    }
    else {
        JOptionPane.showMessageDialog(null, "No file was selected", 
                                            "Display Message",
                                            JOptionPane.INFORMATION_MESSAGE);
    }
}    

Ответы [ 2 ]

2 голосов
/ 09 января 2020

Предположим, что вы уже знаете, как создать пользовательский интерфейс. Итак, во-первых, вам нужно определить объект JFileChooser:

//Create a file chooser as final
final JFileChooser fc = new JFileChooser();

В вашем методе события просто необходимо обработать действие:

public void actionPerformed(ActionEvent e) {
    //Handle open button action.
    if (e.getSource() == openButton) {
        int returnVal = fc.showOpenDialog(YourClassName.this);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = fc.getSelectedFile();
            //What to do with the file here.                
        } else {                
        }
    }
}

Обратитесь по этой ссылке для более подробной информации: OracleFileChooserDocument

0 голосов
/ 09 января 2020

Я смог заставить это работать, код ниже позволит вам выбрать файл из окна выбора файлов и затем отобразит файл.

private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
    JFileChooser fileChooser = new JFileChooser();
    fileChooser.setCurrentDirectory(new File(System.getProperty("user.home")));
    int result = fileChooser.showOpenDialog(this);
    if (result == JFileChooser.APPROVE_OPTION) {
    File selectedFile = fileChooser.getSelectedFile();
    System.out.println("Selected file: " + selectedFile.getAbsolutePath());
    try {
        Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + selectedFile.getAbsolutePath());
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Error");
    }
}
    } 
...