簡體   English   中英

使用JFileChooser打開文件並在JFrame / JPanel中顯示

[英]Open file with JFileChooser and display it in JFrame/JPanel

因此,我試圖在NetBeans IDE中創建Swing GUI。 我是Java和構建gui的新手,所以它有點像學習曲線。

我創建了一個名為“ Open”的JMenuItem,並使用JFileChooser打開了一個文件並顯示它。 我限制自己使用的文件擴展名是“ * .map”。

因此,我的代碼可以正常工作,它會在桌面上的新窗口中打開所選文件。 但即時通訊試圖弄清楚如何在JFrame而不是新窗口中打開文件。 它不是.txt文件,所以我認為我不能使用JTextArea或JTextField。 我是否可以在JFrame中創建一個JPanel?

這是我的ActionPerformed事件代碼:

private void OpenActionPerformed(java.awt.event.ActionEvent evt) {
    try{
        JFileChooser chooser= new JFileChooser();
        chooser.setCurrentDirectory(new File("c:\\temp"));
        chooser.setFileFilter(new FileNameExtensionFilter("map","MAP"));
        int value = chooser.showOpenDialog(null);
        if(value == JFileChooser.APPROVE_OPTION){
            File selectedFile = chooser.getSelectedFile();
            String path = selectedFile.getAbsolutePath();

            File myFile = new File(path);
            Desktop.getDesktop().open(myFile);
            messageLabel.setText("Map successfully Loaded!");
        }
    }catch(Exception e){
        JOptionPane.showMessageDialog(null,e);
    }

最終弄清楚了如何在JTextArea中顯示文件。 謝謝你們的回應。 這是我更新的代碼,它的工作與我想要的一樣。

  private void OpenActionPerformed(java.awt.event.ActionEvent evt) { JFileChooser chooser= new JFileChooser(); chooser.setCurrentDirectory(new File("c:\\\\temp")); chooser.setFileFilter(new FileNameExtensionFilter("map","MAP")); int value = chooser.showOpenDialog(null); File f= chooser.getSelectedFile(); String filename= f.getAbsolutePath(); try{ FileReader reader = new FileReader(filename); BufferedReader br = new BufferedReader(reader); jTextArea1.read(br,null); br.close(); jTextArea1.requestFocus(); }catch(Exception e){ JOptionPane.showMessageDialog(null,e); } } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM